Pretty much all major languages have all of those features save hot-reloading, but that only even makes sense for UI written in an interpreted language.
Being able to update the code while it's running is useful for all kinds of use cases. Desktop apps, web apis, server side rendered web apps, .net blazor apps, etc.
It's nice to be able to see what your changes do without rebuild and restart.