This doesn't make sense to me. Airlines try to only fly full planes, and deliberately overbook flights, expecting that a few people will always miss their plane. If everyone shows up and a passenger has to get bumped from a full aircraft, the airline has to pay penalties. If someone gets bumped on the last flight of the evening, the airline has to pay for a hotel. To reduce the risk of having to pay bumping penalties, airlines should GLADLY give you an earlier flight if you show up early. It costs them nothing, and avoids real expenses. And on top of the financial incentive, minimizing bumping reduces the number of passengers irritated with the airline.
I'm surprised they haven't programmed their check-in system to look for empty seats on earlier flights to the same destination. When you get your boarding pass at the kiosk, you'd get a message saying, "We've automatically rebooked you from your 5 PM flight to one leaving in 40 minutes. If you hurry through security you can just make it".