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.

 1. 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.
 2. Your credit card is only charged in case you don't show.
 3. 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.