i usually take the go bus from hamilton to union, then take via to ottawa. everytime ive taken via its either been on time or late into ottawa by max 20 min. taking the greyhound is cheaper, about 100$ round trip if i remember correctly, but its definitely much more uncomfortable, and sometimes the travel time is longer.
via currently has a sale on where you get an 8-pack (4 round trips) for the price of a 6pack, it comes to 444$ so thatd make it 111 each trip. its still more expensive than the greyhound, but i would much rather pay an extra ~$10 for the comfort and stuff. it also lasts a year, and you can set what day you want the 8pack to be activated.. i also like that when you book with the 8pack your ticket is refundable/exchangeable so if something comes up you dont end up losing all your money! heres the site with more info
http://www.viarail.ca/en/fares/travel-passes/via-6-pak