I am having trouble understanding what is the difference between verpassen and verfehlen.
Both etw. verpassen and etw. verfehlen translate to English miss sth. However, they are used in different contexts:
einen Zug/Bus etc. verpassen
= miss a train/bus etc.
ein Ziel verfehlen
= miss a goal/target
Verpassen can also be used with people, (jmd. verpassen). It also translates to miss sb. but only in the sense of "failing to reach sb." and not in a sense of feeling the absence of sb, which in German is jmd. vermissen.
The two words, verpassen and verfehlen, both mean to "miss." But in slightly different ways.
"Verpassen" is to let something "pass" or get by, that you should have been able to get. One would use this to refer to a missed meeting with a person, or a deadline for a task, or a timetable for a train or bus.
"Verfehlen" has more of the connotation of failing to achieve something that was relatively uncertain to begin with. One might "verfehlen" to get a promotion, for instance.
Here a collection of good phrases using verpassen and verfehlen.
Note that typically you cannot interchange verpassen and verfehlen in these phrases.
eine Gelegenheit verpassen
eine Theatervorstellung verpassen
den richtigen Moment verpassen
den Zug/Bus/Flug verpassen, die Straßenbahn/Fähre verpassen
den Freund verpassen (während man auf ihn wartet, um ihn zu überraschen)
den Sonnenuntergang verpassen
As we see, all this seems to be related to time.
ein Ziel verfehlen
das Klassenziel verfehlen [typical expression used by teachers for students who will have to repeat a year at school due to insufficient learning results]
der Fußballer hat das Tor verfehlt
den rechten Ton verfehlen
den Treffpunkt verfehlen
das rechte Maß verfehlen
One could argue that this tends to be related to place/space, although Maß and Ton need some mental gymnastics to be seen in a place/space perspective.
den rechten Augenblick verfehlen
sounds correct to me, although it would contradict the rule of time/space association.