This allows you to include other html files from within your templates. Instead of writing out the same <nav> and <header> html in every single file, you can just `include 'nav.html'`
I was looking for something exactly like this just recently. Usually I use just php include when I want to just links some files together, but felt like I should stop using php as a preprocessor if possible.
However, everything else is so complicated if all you want is simple file inclusion.
Security: if you're mega-paranoid or unwilling to keep up with patches, going static reduces your attack vector. Performance: your web server will be able to handle more traffic without the overhead of php. Of course, if you need any kind of dynamic processing on the server, you'll need to move beyond static pages.
In theory you could also use PHP as a pre-processor; install it locally, copy the sources to the webserver root, then use wget --mirror to extract a post-processed version of the site.
You'd still need PHP installed on your home machine, but then again, it's not like you don't have to install some pre-processor anyway.
I remember discovering SSI back when I was writing pages using pico/notepad .. was only a short hop then on to rejecting js client-side includes and using PHP for templating.