It's pretty evident if you've listened to stories in the media about the advantages of flying out of BUF as opposed to flying out of Pearson (or for that matter flying out of any border town compared to flying out of Canada). Pearson charges the highest rates to airlines, which pass it on to us and makes Pearson the most expensive airport to fly out of in the world.
It's only really worth flying out of Pearson (or other Canadian airports) for convenience sake. For example, flying within Canada--to do so out of Buffalo for example, seems a little ridiculous, and will require you to make at least one stopover since Buffalo is NO hub for ANY airline.
People use it to fly to Florida. A good choice. For example, with Southwest Airlines (SWA) policy of 2 free checked in bags, free snacks and soft drinks/juice, flying SWA, especially the direct flight to Fort Lauderdale from BUF is convenient and cheap--IF you buy your tickets the day they go on sale to lock in to their cheapest rates. Another great thing about SWA is if you need to cancel, you can use the money towards rebooking another flight with SWA so it's not totally lost as it would be with your other major airlines. They've also been in business since 1967, so they're unlikely to fold up on you as did Direct Airlines (stranding customers in Florida and other places) or to leave you there for days as they may only fly one flight a day to and from your location (Spirit Airlines out of Niagara Falls--avoid them at all costs--literally costs--it's not worth the "savings" to be stranded for days when the place can't land in Niagara Falls and is redirected back to FL--then rebooked for a flight 2 days later and THEN delayed 6 hours--goodbye to 3 days of work pay).
While flying out of Niagara Falls Airport is the best (it's a few minutes over the border as opposed to 40 minutes from the border) with cheap parking, there isn't an airline flying out of Niagara Falls right now that I would recommend, unless you want to fly out at some ungodly hour (how's 2 a.m. grab you?) and fly with an airline with the worst reputation in America.
If your flight is an early one, especially in the winter months when your flight may not be cancelled, but your getting there may be delayed greatly, obviously staying overnight is the best option.
When I've stayed in BUF with my family, I've stayed in one of 2 hotels.
One is the Clarion Hotel Buffalo Airport. The rooms were very average, but their rates to keep the car in their parking lot were very reasonable--about the same price as leaving the car at BUF, with the peace of mind of arriving at the airport on time, comfortably.
The second time was a much better option--we stayed at the Towne Place Suites Buffalo Airport--it's literally across from the airport (much closer than the Clarion), it was a new hotel (or at least newly renovated) and it was only a Category 4. That means that if you apply for the Chase Canada Marriott Visa for the first time, you'll get 50K Marriott points with this link (I get nothing for this BTW), and a free e-certificate to use within 6 months at any of their properties, up to a category 4 (it can be extended if you call them for up to 1 year). To leave the car there for 2 weeks (free shuttle service to BUF), they only charged me $45. Plus, because we came in December, when they tend to have a LOT of vacancies, they upgraded us to a comfortable 2 bedroom suite with a full kitchen at no extra cost--so we ended up making our flight--even though the free shuttle had not started yet (we would have had to wait another 20 minutes--'til 7am I believe, to use their free shuttle) so I saw them cover the cost, paying a minivan taxi driver with cash to cover our "free shuttle". VERY impressive considering the stay was practically free!