The problem with highly directional antennas is that they've highly directional. So if the transmission towers for the channels you care about aren't more or less in line with the direction you're pointing the antennas in, you're going to have to start using a motor to rotate the antenna every time you want to watch a different channel.
On the plus side though, you can pickup even relatively weak signals.
Do you have any idea how far away the transmitters are? If it's over 50 miles, you're probably going to need at least a semi-directional antenna. That should cover a wide enough swath that you won't have to use the rotor. But that assumes that you're not living someplace between television markets.
For example, if you live in central NJ, you would have most stations broadcasting from NYC and north Jersey and the rest broadcasting from Philly. Since both are major markets, I don't think there's anything you would get from Philly that wasn't also in NY but you get the idea about being caught in the middle.
I would go with a semi-directional antenna plus a good signal amp. A good amp can turn a fairly crappy raw signal coming from the antenna into a nice clean, strong signal. Of course if you're getting mostly noise from the antenna, no amount of amplification is going to help.