The airline's website often does not give you the lowest rate. I just booked a personal summer trip YYZ-YVR in Y at about $300 less per person RT through Expedia compared to the Air Canada website.
I've found that it is often simpler to have a travel agent when something goes wrong because they will work to fix it for you. That being said you get what you pay for. This only really applies to a higher calibre (more expensive) travel agent.
While Expedia was cheaper I know if something goes wrong I will likely have to fend for myself.