cause
usually describes how something happened.
reason
usually describes why something happened.
Revenge was the main reason for the fire. (why)
Spilled gasoline was the cause of the fire. (how)
"Cause" can use either "for" and "of" depending on circumstances.
"Reason"
cause for complaint
cause of the complaint
"Reason" uses "for" in order to explain something.
reason for complaining
reason to complain