I almost always
book using the site of the individual provider, though the search process involves many, many more resources. No fees, occasionally bonus points/credits/whatever, and no getting passed back and forth between the booking agent and the carrier/hotel if things go wrong.
And then
I use TripIt to produce a nice, clean itinerary that includes everything for me before I depart.