I only own Warcraft 2, so no DOTA for me.
Technically HotS has no pay gates, in that there is absolutely no need to pay for anything, unless you want to: there is no pay2win, as the level of the player, nor that of the hero affect anything functional.
Everything, including the most important thing in the game, aka heroes, can be acquired using in-game currencies which are awarded simply for playing the game, as well as being drops found in chests (which are also free). I found a number of heroes in chests, two just in the last three days. Never been so lucky, as some folks, to get the newest hero, but have acquired many a higher tier hero that way.
The only reason I could see, to shell out cash, is if one absolutely feels the need to level up heroes as fast as possible, in which case stimpacks, aka XP/gold boosters, are needed.
That could perhaps be the case of an experienced MOBA player wishing to engage in ranked play ASAP, for which a roster of 14, level 5, heroes is required. Note I’m not even sure there’s a need to actually own 14 heroes, as heroes that are not owned can be leveled up anyway, simply by playing them when featured in the F2P rotation.
I seem to recall a 7d stimpack is given out as part of the introductory process, and it’s possible to acquire more without paying, again through chests. Indeed I had long streaks of stimpack-fueled play thanks to drops.
For a couple of months, following the launch of HotS 2.0, Blizzard would award a certain amount of free gems (1000 IIRC) simply for logging in, which could be used to choose between several special hero bundles, each containing about two dozens of 'em, a very nice head start which I took advantage of.
Right now, a hero is given out for free for completing the tutorial, and two more can be had by using a referral link from somebody in the same region, and reaching the relative level milestone (easily achieved). A 5d stimpack is also part of the package. If anyone wants one for EU, here is mine.
Given my noobishness I may have missed something, but this should about cover it.