I use both depending on the situation.
When I use an aggregator it is only booking.com and airbnb. Outside these two I book directly through the primary site.
Booking.com has three features I like very much.
- Often you can cancel your reservation without cost up until 24hours before arrival. This is especially interesting if you would like to wait for a better airfare or don't know the arrival date yet in detail. In the latter you just make multiple bookings for different dates to secure an interesting fare.
- Your credit card is only charged in case you don't show.
- Hotels sometimes use Booking.com to dump empty rooms, which means that you can get some great quotes if you need a hotel immediately.
I use airbnb for personal holidays with the family. Usually hotels and hostels are quite costly if you need accommodation for a family trip.