With print, you have to think about kerning and the flow of the ink, and the DPI of the printer, and many other variables, and some ligatures help with that (fi). Then there are some letter strings that appear consequently very often (e.g. st), in which case if you're cutting your fonts out of metal cubes, it's practical to have a single character for those strings. They are not, basically, of help to the reader, but instead to the typesetter / the machine. But you don't spend ink or metal on a computer screen, so the ligatures are just there for the sake of it.
With monospace fonts, well, because there's no kerning (each character takes up equal space), there's no way that normally any bits of the letters could coincide, so all the ligatures are forced and artificial there.
Kerning is a table of pairs that allows them to have more aggressive advance values. For example, with a sequential 'V' and 'A', the 'A' could be moved closer to the 'V'. But kerning doesn't have anything to do with the fact that in a variable width font that 'I' is narrower than 'X'.
- The submitted font - scroll down to "Ligation sets" https://be5invis.github.io/Iosevka/ (note that they only show symbols)
- https://github.com/tonsky/FiraCode
- https://github.com/i-tu/Hasklig
I think people using a programming language with a more math-like notation probably benefit much more than those using "normal" languages.
Maybe I should give it a try again though!