Qué tal, lo que comentas se debe a los detalles internos del lenguaje, es decir, los creadores de Java cuando crean el lenguaje deciden hacer las cosas de una manera determinada (aunque podrían haberlo hecho de otra manera).
En principio son detalles por los que no debemos preocuparnos demasiado, sobre todo cuando se está aprendiendo el lenguaje.
De cualquier forma tratemos de aclarar algo. En este caso tenemos:
Variable = math.pow(double a,double b);
Con esta sintaxis estamos usando un objeto único, el objeto math, que permite utilizar distintos métodos sobre él y devuelve unos resultados. ¿Por qué se usa un objeto único para este tipo de operaciones? Porque los creadores de java decidieron que fuera así.
Variable ="cares".concat("s");
Con esta sintaxis "cares" funciona como un objeto de tipo String, y dentro de los métodos disponibles para objetos de la clase String tenemos el método concat, que permite concatenar otro String al final de la cadena. Si los creadores de java lo hubieran decidido así podrían haber elegido que la sintaxis fuera String.concat ("cares", "s"); y esa sería la sintaxis que usaríamos todos.
En definitiva, al crear un lenguaje se toman una serie de decisiones que pueden hacer que la sintaxis del lenguaje sea de una manera o de otra. De hecho, las sintaxis y las filosofías varían de unos lenguajes a otros...