This is a question on Reddit and there is a good answer for it.
First of all, one of the keys to making a movie successful is creating characters that the audience can relate to, identify with or at least root for. Sometimes they do that by casting someone the audience already knows and likes (Clint Eastwood, the Rock, Arnold Schwarzenegger, etc.).
However, another way to do this is to take the likable, good-hearted, ordinary guy and have him compete with the overbearing, a-hole jock for a terrific woman who’s starting to realize Fratty McFratboy is bad for her.
This dovetails with the sort of fairy tale mentality we have pumped into us from the time that we’re young by comics and children’s stories. This mentality says the good guys always win and virtue is its own reward.