There's a few reasons for it, but one of the most notable is related to how most of us start listening to music which is the radio. Think about it from a radio station's perspective. They can only play so many songs in a given time and they want to make sure that they cover as many songs as possible. Assuming no ads (which is very rare) and that all songs played are 5 minutes long, they cancould only play a total of 12 songs an hour. Just cutting a song downIf instead they were to play songs that were only 4 minutes long they would be able to play 15 songs instead which allows 3 more songs to be played an hour which makes quite a difference in the long run.
Another notable reason is that songs themselves typically follow the same pattern (form) of verse,chorus, ect. Artists and bands that follow this patter when writing tend to write songs that are only 3-4 minutes long as at typical tempos, that is where the length of the song falls.