I don't know the details of the lifehacker promo, but it sounds about like the standard dreamhost first year deal.
As far as I know, the only time you have to pay the "setup" fee is if you start with a month-to-month account, which no one does. The reason is if you pay monthly it's 10.95/month and you can always find a first year "deal" for about what you quoted, so why would anyone want to pay the setup fee and then 10.95 a month. I think, there is even a thread around here somewhere about a year or two ago that points out (at that time anyway, don't know whether it's true today or not) there was no path in the signup process to actually sign up for month to month initially and paying the setup fee (after all why would anyone want to to that when they can find the whole first year for less that the first month would be (10.95+49.00).
You can cancel anytime. For the first 97 days they will even give you a full refund. (refund applies to "hosting" only and does not apply to domain registrations, but you can use a registered domain anywhere not just dreamhost.)
After the first year you can't get the first year deal again. (and yes there are rules about transferring domain registrations between accounts that prevent you from just signing up again and saying you're a new customer to get the deal again.). Once you have completed the first year you can continue by paying monthly at 10.95 or pay in advance and the rate goes down accordingly. (i.e 10.95 montly, 9.95/month if you pay a year advance, 8.95/month for 2 years advance payment, 7.95/month for 3 years advance payment, $6.95/month for 5 years advance payment, and 5.95 a month for paying 10 years in advance).