The Malbim lists the following distinctions:
ארר (the noun form of which is מארה) - A curse which has real effects. Thus we always find (with one exception) that curses from Hashem are in the form of ארור, as they have real effects upon the accursed or his possessions.
קלל - A curse which is more of an insult or disgrace. Thus, all curses directed towards Hashem are in the form of קללה, as in כי יקלל אלקיו - Vayikra 24:15 (or קבב, as in ויקוב את ה - Vayikra 24:10), as they do not have any real effect. The word is related to the word קל, which means light, because the curse lessens the image of the accursed.
קבב - A curse which is spelled out in detail. It comes from the same root as נוקב, as in נקבה שכרך עלי, which means to specify in detail.
Malbim to Shemos 22:27 (#188), Bamidbar 22:6, Iyov 3:8.
Malbim in several places understands אלה to be a language of a vow or declaration, as opposed to a curse. (See Medrash Sifri Naso #63 which seems to imply as much).