A reason is an explanation. An excuse is an attempt to shift responsibility.
Many people will create a disingenuous reason to absolve themselves of responsibility.
For instance, if someone sleeps in and leaves home 15 minutes late in the morning and arrives to work late, they may honestly say, "traffic was terrible on highway 7." And while it's true that if traffic had magically been nice that day they'd have made it on time, the honest reason they're late is because they slept in. The traffic is their excuse.