For the route variety and prices it finds, I've found Omio does the best job with trains and busses (vs. planes and ferries). But it's still a useful starting point for any route, just to see what options exist and compare travel times. But there are several alternatives to Omio, with pro and cons to each one.