http://www.dotastrategy.com
The guides there are good as well as strategies and tips. I don't really browse it often now...
As previously said, there IS NO ONE BEST hero. The best heroes I am good with are:
Mirana Nightshade "Priestess of the Moon" - Agility
Razor "Lightning Revenant" - Agility
Yurnero "Juggernaut" - Agility
Rikimaru " Stealth Assasin" - Agility
Lion "Demon Witch" - Intelligence
Rhasta "Shadow Shaman"
Balanar "Night Stalker" - Strength
Oh, and what I suggest is you first pick one hero and train him in order to get used to the game, then start to try out new heroes once you have finished playing (and getting and equal score) with that 1st hero. Of course, you can always swtich if you think you prefer this hero istead of another.
My style of play is different from others. What I like to do (My best hero is Mirana - PotM) is to fight head on, render the enemy useless (if possible) chase, kill, and run away. This is possible with PoTM because I can stun (Elune's Arrow), followed by normal attacking, followed by Leaping (which incidentally can be used for BOTH chasing and running away since the cool down is 20 seconds), killing, running away.
What you need to do is to first determine your style of play and find which hero suits you best. Try out different heroes and try as much as possible not to die and maintain an equal score.