Think of f: A -> B as a kid whose mom is A and dad is B. Kids, then, are of six kinds:
(i). same mom & same dad
(ii). same mom & different dads
(iii). different moms & same dad
(iv). different moms & different dads
It looks like we have been unfair to a particular group of kids. We talk of products when we have maps with common domain, sums when we have maps with common codomain, composition when codomain of one map coincides with domain of another, but there is nothing to talk about when we have maps with both common domain and common codomain.
Well, there is this object which tells you all about a map to build a state that lets everybody in the domain go to any place they like in the codomain–no matter where everybody else goes.