I think any reasonably large online game will have hackers and cheaters now. How widespread they are depends of how popular the game is, how lucrative hacking can be and how hard the company hunt down the hackers.
Still, I don't expect any game to be 100% free of hackers and as long as they don't make my experience too awful, I try to ignore them outside of filling an automated support ticket.
However, Dota is a strange case for hacking. You see, in TF2 when I meet a hacker, it's as simple as switching servers. Sure, I "lose" the match but TF2 matches are fast and I don't really lose (or win) nothing by leaving a match, but in Dota2, even if I see the enemy flying around the map at mach 3 shooting rainbow lasers, I'll be penalized if I abandon the train wreck of match.
To start, my "rank" will go down if that was a ranked match, and if I abandon enough matches and I'll go to Dota gulag called "low priority".
I mean, it's bad enough to find a hacker, but you are just punished twice by meeting one in dota.
On the good side, hackers in dota SEEN more rare, but they may just be harder to notice unless that wallhacker aimbot sniper.