Airline, airline, airline, airline.
Use Orbitz/Travelocity/Expedia/Whatever to compare and find the best rates. Once you get the best rate, go to the airlines site and they should match. If they don't, call the airline.
The problem with booking through a third party is THEY own the reservation. So if there are any problems, you need to take it up with that third party.