These days, I drive from my home near NYC to Montreal, but I've had experience with all these options. As suggeset above, though the flight itself is barely one hour, you have to factor in at least a couple hours both before and after for ground transportation, check-in, customs, etc. For me, there's hardly any time saving between the 6 hour drive and the flight, and the drive arguably costs a good deal less, depending on the time of year. The car also gives me lots of freedom on the ground.
Of course, I do arrange to reach the NY State border crossing either very early in the morning or very late in the day. (At midday, I've had the experience of a 3+ hour wait to get back into the states.)
If you have the stamina for it, and are able to catch some sleep, the overnight buses from NYC to Montreal are an affordable option. The train is the slowest trip of all, but obviously a little less of a downer than the bus.