It works, and you can get good deals, but it can be frustrating - so frustrating I prefer to go to a travel agent.
Most sites I've used don't do a basic feasibility check - for example - site asks you to choose destination, then departure airport.
You choose Lanzarote and Humberside.
You then select a load of other stuff - e.g. stars, number of nights, full/half board, dates, etc.
Site then spends 40-50 seconds (allegedly) searching for holidays, but eventually says "No holidays found".
The reason? there are no flights, ever, from Humberside to Lanzarote. You have to go from another airport.
Even though it would be simple for sites to restrict the list of airports based on the destination you've chosen, they don't.
There are a lot of other basic feasibility checks missing as well - e.g. Humberside to Jersey is possible, but only on Saturday - so if you choose a Friday departure date, you're b***ered.