I think it's the wallet software users are using. People tends to use the recommended fees by the wallet software. Yesterday I had a 1 sat/Byte tx cleared. It was hanging there for last few days but I did not bother.
I think people are overpaying because of ignorance.
Wallets all try to compete for the same limited block space, which means that everybody pays more, and blocks are still full. I think the fee market would work much better if most users choose their fee manually. If you're in a hurry: pay enough! But if you're not in a hurry: don't try to compete with other users.
I usually pay 1 or at most a few satoshi per byte, as most of my transactions are not time critical.