The b-c and f-e progression happens simply because that's what sounds best, and there are a number of little rules written a long time ago which address these kinds of things... this is most likely because the 2 notes are a semitone apart, and it would make less sense for f to jump right down to c, nor would it sound as good in the context of a harmony.
it usually doesnt matter which direction the notes move in, its basically about finding the shortest distance between the notes so that even though there is a chord change, there is still a feeling of unity between the 2 harmonies (ps, does this make sense so far?)
also, when you have lots of notes moving in opposite directions rather than just one, it creates richer harmony... in fact, there is quite a common law of harmony saying that PARALLEL FIFTHS are to be avoided like THE PLAGUE! that is, moving from a fifth (eg, G-D) to another fifth (eg, C-G) with all the notes going in the same direction. Laws as such can basically be discounted in rock and popular music but in most other western styles they're quite apt.
I know i'm throwing a lot of info around but i'm just putting it out there :)
When learning harmony and cadences (which are the changes between 2 chords, basically), it's a good idea to think not so much in terms of chords, but as separate voices, each which have to resolve. put all those voices together, and voila, chords!
sorry if this is quite poorly explained, firstly i'm bad at explaining and also it's quite alot to explain in one post :)
ok. class dismissed! :D