I'm beginning to think the same thing... there are general patterns which are worth remembering, but also a lot of exceptions, which need to be remembered as such.

Something like плакать and its perfectives are for me, predictable and easy to remember, but the same prefixes can mean very different things (as in your example of заработать)

Although I understand why понравился/нравился have the meanings that they have, I can see that (from what you are saying above) some, like летал/полетал in example 1 have the opposite pattern of meaning for their imperfective/perfective verbs; in their case, the perfective is the one that says nothing about whether he still flies in/takes off in airplanes, if I understand you correctly.