The SSL server certificate is meant to convey the public key of the server. This is the method by which you can know that you are talking to the right server, not a fake one setup by some attacker intent on grabbing your password or credit card details. If you browser warns you about the certificate, then this guarantee has evaporated (like dew in the morning Sun, as the usual metaphor goes).
The sane reaction when faced with a certificate-based warning from the browser is to stop accessing the site altogether. Proceeding with HTTP or HTTPS on that site is at your own risks.
If you MUST really browse that site, then just consider it as unreliable and unprotected. You don't really know if you are using the genuine server, or a fake one. Don't send any sensitive information to that server. Don't consider that any information sent by that server is true.
(In that situation, HTTPS is still "better" than HTTP in the following sense: if the error is due not to an actual attack, but a thorough misconfiguration, then HTTPS will still do some SSL which will offer some protection against passive attackers, who spy on the line but don't try to interfere with data exchanges. This is not a big protection, because passive-only attackers are rare.)