There are many reasons for this. I'll list the three most prominent in my mind:
With (3), what I mean is that we reward users for the wrong things. Take the makeup video post you linked to. A video with only 10k views on Youtube should not earn $31k. However, as it is today, we reward users based on what whales feel like upvoting. Rather, I believe we should be rewarding users based on the number of views they're bringing in to Steemit as a start.