It's not "compulsory" -- nobody is forcing the sites.

But it is advisable. While the homepage/etc need not be on an HTTPS connection, all the pages that have forms and those which show sensitive data should be. For example, it's perfectly OK for a site to let you shop on HTTP, but will redirect you to HTTPS for checkout.

Without an HTTPS connection, all the details you enter into the form will be visible to an attacker.