What is the difference between homomorphism and isomorphism? Let $G$ and $H$ be two groups, and $f$ a map from $G$ to $H$ ($\forall g\in G \Rightarrow f(g)\in H$). Then $f$ is a homomorphism if $\forall g_1,g_2\in G \Rightarrow f(g_1g_2)=f(g_1)f(g_2)$.
This means that $G$ and $H$ are algebraically identical.
Isomorphism is a bijective homomorphism.
I see that isomorphism is more than homomorphism, but I don't really understand its power. When we hear about bijection, the first thing that comes to mind is topological homeomorphism, but here we are talking about algebraic structures, and topological spaces are not algebraic structures.
Then what is the "power" that makes us to define isomorphism as a special case of homomorphism?
 A: Isomorphisms capture "equality" between objects in the sense of the structure you are considering. For example, $2 \mathbb{Z} \ \cong \mathbb{Z}$ as groups, meaning we could re-label the elements in the former and get exactly the latter.
This is not true for homomorphisms--homomorphisms can lose information about the object, whereas isomorphisms always preserve all of the information. For example, the map $\mathbb{Z} \rightarrow \mathbb{Z}/ 2\mathbb{Z}$ given by $z \mapsto z \text{ mod 2}$ loses a ton of information but is still a homomorphism.
Alternatively, isomorphisms are invertible homomorphisms (again emphasizing the preservation of information -- you can revert the map and go back).
A: Unlike in other areas of mathematics, talking about groups as sets and saying that (as sets) they are in bijection with each other isn't hugely useful. For example, the elements of $Q_8$ and $C_8$ are certainly in bijection with each other, but one is cyclic and the other isn't even abelian. This is why homomorphisms are important when studying algebraic structures; we look at maps that preserve the underlying algebraic structure to some degree.
Isomorphism means that the structures are 'the same'; we cannot really distinguish between them if we are only given abstract information about their elements and how the elements act on each other.
This is much stronger than one group being a homomorphic image of another, because one can lose lots of information about a group in the kernel of a homomorphism (just take $\pi : G \rightarrow G/N$ for any group $G$ and some quotient of it).
A: Bijectivity is a great property, which allows to identify (up to isomorphisms!) the given groups. 
Moreover, a bijective homomorphism of groups $\varphi$ has inverse $\varphi^{-1}$ which is automatically a homomorphism, as well. This is a non trivial property, which is shared for example, by bijective linear morphisms of vector spaces over a field. 
If we consider topology, things change a lot.
If we are given with a bijective continuous map $f: X\rightarrow Y$ between topological spaces $X$ and $Y$, the inverse $f^{-1}$ is not continuous in general. 
One can construct easily an example of this fact by considering the identity map $1:(X,\mathcal D)\rightarrow (X,\mathcal T)$ where $\mathcal D$ resp. $\mathcal T$ denote the discrete resp. trivial topology on $X$. The inverse is again the identity map, which is not continuous w.r.t. the given topologies on $X$.
A: It's true that isomorphism get along extremely well with the specific two objects they are relating, making them for most isomorphism, "identical up to naming" (same up to isomorphism). An important point is that what makes a isomorphism in each area of math is designed specifically in mind to preserve that properties. In general isomorphism need the "iso" part wich means bijective function, to be able to correspond exactly each element of one with one of the other. They also preserve other crucial information, in the case of group theory for exaample, they preserve the product of two elements, wich happens to be everything one needs to know about a group to make any statement about it!
