Good ol reverse Polish notation in those hp's....
Honestly, most of the pros for using IL are implementation based. In an S7 300/400 (and maybe older?), IL/STL/AWL is pretty much how the processor thinks. It did all possible functions. There were a lot of features that never made it to their LAD editor, like indirect addressing. Germans tend to love it, and it was the cheapest (SCL is a paid option in Simatic manager) and fastest way to program indirect addressing. A "Real Programmers use STL" attitude developed, and it held them back from adding a lot of features to LAD, like indirect addressing/pointers. Some used it because they liked it, some used it because they had to. Programmers liked the power/capability, but I think many of them would have used another language if they could have.
I'm in the "have to" pile. I would only use IL if I needed advanced functions, and the customer refused to permit SCL. If the processor allows for indirect addressing in LAD (Rockwell, newer siemens processors, etc), there is really no NEED to use it. It is less readable than SCL if you want to do text based, and is considered depreciated in the most recent IEC 61131 revision.
The only positive I really have for IL is that it was a compact way to set/reset a lot of bits. Again though, this was more of a system implementation limitation than a feature of the language.