Another (small) area where it is extremely important is implementation of cryptography. Because branches introduce code paths of different lengts, and that enables an attack vector where one can infere encryption keys by observing the time en/decryption takes.
You should never implement encryption for production yourself, because you're almost guaranteed to make a mistake that renders it insecure. But it is a very interesting topic to learn about.