I gonna go through your question paragraph by paragraph:
For developers, What is the benefit of creating mobile app for a website? In which cases it is better than viewing it using browser?
From users point of view it is not always good.
Why should I install separate app for every website I often visit?
Push notifications. For news sites for example for headline etc. Another example is for facebook the incoming messages.
You actually can implement push notifications with websites as well, but it isn't very pretty, because you would send an SMS or an email with a link to the new message or headline.
Mobile app seems not always to be faster than browser, and they can take a hundred of MBs in some cases.
The first part is sad but true, the second part is, to say it nicely, wrong. When a mobile app, that replaces a website takes 100MB place, it is just very crappy programmed. The usual app I install is under 5 MB and even that is fairly much.
UI of mobile apps is not always better than that of their websites[...]
That is not nessacerly true. For WP, Sailfish OS or Firefox OS users the UI of websites is often everything but native. The other question is, what is a good UI? But that topic is discussed on https://ux.stackexchange.com/
[...]functionality is usually less.
You can decide that when you develop the app. I personally would develop apps with the same functionality like the mobile website.
Which points can be crucial when determining if there is a need of mobile app for a website?
Like I said earlier, if you need special technologies or if you want to provide all users a native UI. But that is a hard topic, cause there are too many systems out there.
Here is a quick list:
- Push notifications
- Native UI for everybody (could get tricky)
- Some more system components
- Cryptographics on clientside
I hope it helps :)