Desde la perspectiva de un desarrollador que recientemente ha implementado una función de este tipo, otra posibilidad es evitar que los usuarios se disparen a sí mismos.
Muchas aplicaciones personalizadas / internas tienen flujos de trabajo muy específicos y almacenan mucho estado en la sesión. Si el usuario abandonó algún trabajo a mitad de camino en una computadora, lo termina en otra parte y regresa a la computadora original, puede confundirse con el trabajo sin terminar. Si el usuario elige incorrectamente continuar, entonces los resultados originales se pueden sobrescribir / duplicar.
Por supuesto, es posible mejorar el código para hacer que esto sea menos probable, pero para una aplicación interna, la forma más rentable es evitar inicios de sesión simultáneos.