You need to understand the difference between our game and other competitive games. Games like DOTA2 and CS:GO are BUILT to be competitive games, with a competitive focus. They are supported heavily by Valve, who have larger teams working on them constantly building features and competitive infrastructure into them. TF2 doesn't have this support. Whatever the reason is, TF2 seems to be meant as a "fun" game, or a public server casual game, or an accessible game, or the hats/trading game, whatever.
Our community is amazing - AMAZING. Like it's OUTSTANDING the kind of support we have with crowd funding events like Tip of the Hats or Insomnia LAN OURSELVES. It's mind boggling at times what great work people do with building plugins and addons and HUDs to advance the competitive scene. But Valve seems to be done putting this level of work into this game.
Events like i46/49/52 or the upcoming GXL are very big (for us) and do a lot for exposure. But you need to consider another thing, which is the small amount of international reach we have. Games like DOTA2 and CS:GO have very large reach outside of North America. DOTA especially has strong roots and history in Asia. We have a great Euro scene but the TF2 communities in areas such as Asia, Oceania, and South America are VERY VERY small compared to the massive swaths of people playing and following DOTA in these areas.
When TF2 packs a house, it's maybe a hundred people at a LAN event, plus people who are there for other games who may want to check it out. When DOTA2 packs a house, they pack the Staples Center.
I think it's fantastic that we have a few top streamers/YouTube people who bring hundreds of thousands of views to our game. But I think there are many obstacles preventing us from having lots of those, or bringing in the kind of numbers that players of these worldwide games do.
EDIT: People above make a great, much more concise point than me: TF2 lends itself to "Entertainment" videos, while DOTA2, for example, is more of a competitive game. I am wordy.