So, I've heard a lot that homomorphism is a structure-preserving mapping between somewhat algebraic objects. Rigorous definition is: $f(x \circ y) = (f x) \circ (f y)$. And it's not clear enough for me why operation from the left (denoted as $\circ$) remains unchanged on the right? Does it mean that homomorphism suppose to work only with algebraic objects sharing the same operation? Or this definition is just not enough explicit, shadowing the fact that $\circ$ gets mapped as well to a, let say, $\bullet$ and those are different in general?
Intuitively it feels like $f(x \circ y) = (f x) \bullet (f y)$ would be more correct.
And your intuition is correct. Usually, the homomorphism is between two algebraic structures with distinct operations.