It's best to describe the difference of these words in the same context, which is in response to some imposed stress, such as being pulled over by an officer for a traffic offense.
Whine: Useless flailing with words, "Haven't I gotten ENOUGH TICKETS already?????"
Complaint: Supposed counterfactual statement lodged, "Your [radar gun], [eyes], [judgement] isn't working today"
Excuse: Proffered explanation hoping for exemption, "My [speedometer] [brakes] [cell phone] isn't working today"
Reason: Argument given based on valid legal grounds that has chance of holding up in court, "I had no choice---I followed the traffic signs posted."