I don't like Ghosts because there attack is really bad and the only way to get off a Nuke is to kill pretty much everything first. The Nuke doesn't even kill buildings.
The nuke can actually destroy a Protoss Nexus in one hit, if the Nexus has been EMP'ed by a Science Vessel (and if you can build nukes, you can build Science Vessels).
Boxer's Nuke Rush
is in Pimpest Plays 2002. Boxer was Terran playing against a Protoss, and he built two nuke silos pretty early (he didn't even build a comsat), and EMP'd/nuked both Protoss nexuses, destroying them immediately. The Protoss was left with no nexus and not enough minerals to build a new one, and surrendered. The nukes pretty much won the game for him. But, he did send other units in the dropship along with the Ghost to provide a diversion to allow the nukes to land, and he also did it early in the game when the enemy didn't have many units of his own with which to kill the ghost.
As for the main question raised by this topic, every unit in Starcraft has its use. I've watched a few pro replays where people are playing for money, and every unit gets used eventually. For example, in Boxer's Multi-Rax Float Rush
, Boxer builds 4 Barracks, flies them over to the Zerg base, then builds 4 Firebats followed by medics and marines and they destroy the zerg base.
That said, there are some units that are used less than others, and thus could be said to be worse overall. Another way to phrase the question would be "If you were playing as Terran, but there would be one unit that you're not allowed to build, which unit would you rather it be?" For me, it would either be Firebat (I tend to only use infantry in bunkers behind depots, and Firebats don't have enough range for that), Ghost (attack doesn't do enough damage, nukes are hard to land, Lockdown requires too much micro), Wraith (gets destroyed too easily if detected) or Valkyrie (only really useful if enemy builds a significant airforce).