In terms of degree of anger,
憤怒 is higher
In terms of context,
生气 is usually used in colloquial context, whereas
憤怒 is usually used in formal context.
Another term you may be interested in is
抓狂, which is a colloquial term with degree of anger higher than
Here is an interesting joke that can hopefully help you understand better.
I have quoted below the key phrases that denote the difference (forgive the offensive language used):
"F***ing psycho, go to hell!"
"You want some beef? F***, I dare you call again!"
"F*** your mom!" (three variations with the same meaning)