Personally I don't think there's anything wrong with free hosting, especially if its for a brand new site or blog and you don't know how much traffic your going to attract.
Money will be a key issue, and at the beginning of any site you won't be making a great deal off it, so just at the start, to see how things go, you could choose a free hosting service, and then switch to paid hosting later on.