If you ask any airline exec what passengers want most, they'll tell you: cheap flights. To do this, the airlines have to find other ways to get income.
Let's face it...when you get a great $50 flight, you tell people you only spent $50....not $50 plus $5 for a drink, and $8 for a sandwich, and $15 to check your bag...no, just $50. And admit it, you're thinking, wow, I got a flight for $50.
In the U.S., the airlines have been lax to enforce rules at the gate. So much so, that some frequent fliers have found a loophole. Rather than check a "larger" bag, they bring it to the gate. If they can get it on, great. If the overheads are full, chances are the bag will have to be checked. To save time, and arguments, the gate agents/flight attendants will usually do it for free.. No checked baggage fee.
Either way, the passenger has won. Yes, he's inconvenienced those who follow the rules, but do you think he cares?