When I didn't have internet and only played against the computer, I always chose only attack and only upgraded attack. I didn't respect defense at all, neither as a primary nor as a secondary skill. And why would I need it? To kill neutrals faster, you need more attack, and if attack is heavily upgraded, there might not be any retaliation left :)
BUT! The internet appeared, and I started playing random maps (and, most importantly, with other people). I had to completely rethink my views. As already mentioned above, early acquisition of various objects started to have a significant impact. That is, control points, utopias, etc. It was then that I felt the full benefit of defense and discovered a new hero for myself – the well-known and almost cliché – Tazar.
Similarly, I played with people on fixed maps. Where the Barbarian could break through with minimal losses, the Swamp Thing was on the verge of defeat. And, in general, I didn't like Tazar's face :D. Now I've changed my mind, and if the game is important on a competitive server, I take Tazar; for friendly games, there are all the others, with a slight preference for Brogh.
In short, defense is king in random maps.