It depends on the relationship. Many of the contracts that we hold are yearly or longer (that's us with OUR vendors). Our clients have the option from 1 month to 3 years, and domains or SSL's even longer (5-10 years). Most of our clients go Monthly initially and then move up to a longer term (quarterly or longer) - it's just less for them to think about.
Besides, if you're paying $4.00/month for hosting, do you really want to have to break open a check book every week and write a $4.00 check or just send $40 and be done for the year?
All depends on the price (total price) and the confidence. There are people that will pay $2k for a server for 1 year. There are others that don't know how long THEY will be in business, so they pay Monthly.
Takes all kinds really.

I pay my car payment MONTHLY, but I pay my Insurance on the car SemiAnnual.
