In my limited mathematical reading, I often come across authors that declare functions as isomorphisms, homomorphisms, or homeomorphisms (or any other variety of morphism). Although I've found definitions of these terms in resources like Wikipedia and Wolfram MathWorld, I still am not able to completely and concretely understand them and their differences.
I assume all these morphisms are related but differentiated by certain properties (an isomorphism has an inverse? a homeomorphism is an isomorphism constrained to topology?) but I don't know exactly what those properties are.
Could someone provide a picture of all types of defined morphisms and how they relate (I'm thinking possibly they fit into a hierarchy?). Further, providing examples of what is a particular morphism and what is not that same morphism (for example, "f is an endomorphism but not a homeomorphism because...") would be very helpful. Further, how do these morphisms relate to topology and category theory?
Thanks!