What's the difference between взлетать/взлететь and улетать/улететь?
Is the first one especially for the take off of an airplane, whereas the latter one is especially for a bird flying away?
That's difficult to rationalize the meaning of prefixes "вз" and "у", almost as difficult as to explain the rationale behind "off" in "take off". But one can always try.
Let's look at ВЗ first:
Here are some words that use this prefix:
взлететь - take off
вздумать - come up with an idea
вломать - crack, or break something forcefully
взбодриться - energize oneself (that's the word Nescafe uses on their coffee in Russia)
взбаламутить - to distort something intentionally, turn something peaceful into something chaotic
взрыть - dig the ground emotionally without any purpose (sometimes about bombs but usually about animals)
There is also ВОЗ prefix, which seems to carry the same meaning as ВЗ and just being another phonetic for for the latter:
возмутить - (same as взбаламутить i.e. turn something calm/still into chaotic)
возделать - cultivate, or precisely turn wild soil into a garden or a field
воздеть - raise something bravely, i.e. head, flag, but not a problem for instance
вознамериться - get your mind set on something (but not just having it set on something, as in other examples, the word is about a moment when something have started or got done)
возгордиться - start being too proud at some moment
Not sure if you see the pattern, but I can observe that it seems to be about applying one's energy, emotions and effort to get something done or started also implying the moment when it have happened or have started.
Now the У part. The usage seems very diverse, but take a look, I will show how some words with У have one meaning and next to them the same words without the У prefix having another meaning:
упасть - to fall, пасть - to fall
умыть - get washed, мыть - to wash
узнать - obtain knowledge, знать - to know something
угадать - make a correct guess, гадать - do guessing
убить - to kill, бить - to beat
упрятать - make something hidden, прятать - to hide
Now the verbs that describe some form of a movement
улететь - fly away, лететь - to fly
уплыть - swim away, плыть - to swim
уйти - to go away, идти - to go
убежать - run away, бежать - to run
In both cases the prefix adds the meaning of something being complete, done, rather just happening. But in the latter case it is also about the direction of the move away from the area of the mental focus at the moment of the conversation.
Interesting is how У behaves with the suffixes meant to emphasize that something is still happening:
улетает - in a process of flying away
убивает - in a process of getting something killed
угадывала - she was continuously making attempts to make a right guess
The other answer states that the difference between взлететь and улететь is about the direction, and although in this particular case it seems to be true, the real difference is that ВЗ is about effort and energy, and У is about something being finished. In practive the space ship or a coin in the well both can улететь (fly away) vertically and your enterprise or a startup can взлететь (take off) without any vertical movement in the physical world, all will be the correct usage of those words.
Again, because repeating is good, repeating is good, when you encounter ВЗ think of someone's effort, and when you encounter the У prefix think of something that finishes completely.
Ironically there is another "vertical" use for the word улететь to mean somebody "getting high", used both about someone daydreaming or envisioning something actively or someone using drugs.