This question has bothered me too. I always try to develop all my pieces before anything else, simply because players much better than me advise it, but by spending time bringing your pieces into the attack, aren't you also allowing your opponent to bring more pieces to their defense?
Sure. It would be silly if you could launch sound and dangerous attacks every time if your opponent has not done anything wrong. If your opponent is greeding for material instead of developing while you've developed then you got good grounds for attacking. If both you and your opponent spent your moves developing pieces then naturally you're most likely not going to be able to attack. I don't see anything odd with this.
It is always best to develop with threats. Be on a constant lookout to attack. Poke around the opponent's defenses to find a way in. When the opportunity to attack presents itself, take a moment to consider whether the attack is worth pursuing. Should you attack immediately, or should you prepare for a bit? This is the general idea. In practice, it is not that easy to implement because normally the opponent will not let you.
Good luck.