Perhaps OIT's are smarter today. Years ago, the OIT didn't have any smarts. Much like a dumb terminal. HyperTerminal, for example, except these just have 2 or 4 line LCDs.
Set up RS232, and send it text. Read key presses.
All of the processing is done inside the PLC. Send ASCII text. Read ASCII characters coming back. An absolute pain to program and test.
An HMI is a single board fanless PC. It has a built-in software, most likely running Linux.
You use a program to set up everything, and write it to the flash memory in the HMI. The PLC reads and writes registers in the background. This is all automatic, based on your address table. The only thing you need to set up is the baud rate and protocol. Modbus, for example.
Small HMI's are so cheap today, I can't justify an OIT.
For me, the difference is easy - OIT's are obsolete.