It is important that you differentiate between booking engines and OTAs. The booking engine is usually a software or plugin availble in your own Website so that clients can book directly and get acess to your availability and rates. Many companies can provide this service so that you can incorporate ito your propertie`s Website, some charging a fee per boking, a montlhy fee, a %...
Booking.com, Hostelworld, Expedia and many other player out there in the market are OTAs (online travel agencies) wich make available your property to be booked through their sites. They charge a compensation / commission on each booking.
You dont need to choose one or another, I would personally have my propertie available in the main OTAs so the reach and potential demand is higher.
You may also considering have a look at channel manager which sinchronizes your room inventory and rates with your booking engine and all OTAs or other online channels you work with.
Hope it helps.