IMO. its a decision that would defer on a case-to-case basis. If you know that the host is reliable and trustworthy, paying upfront for an year for a particular service would cause no harm, plus you'd be able to save few bucks in the long run.
But, if you haven't heard of a particular hosting provider, but are attracted towards the services they offer, you may try their services initially for a couple of months, if you have good experience using their services, you'd think of paying for an year.