- Why do web pages take so much RAM?
Chrome uses a per-process model which means that for each tab (or group of related tabs), it uses a separate process instead of a separate thread. That basically means that each tab is a separate running program. That way, if any crash, they go down by themselves instead of taking down the whole browser (it does the same thing for plugs and most extensions).
This has its obvious benefits (the sandboxing being the primary one), but of course it also has disadvantages like the fact that each one has memory overhead, which means that Chrome uses more RAM overall for the same set of open pages than browsers that do not use a per-process model (other browsers have started moving toward this method since Chrome was released).
As you have noted, the per-process rule does not necessarily mean that every tab gets its own process. It depends on how the page was opened. Using open in new tab or open in new window opens the page/link in the same process as the parent, but open in incognito window opens it in a new process as do the new tab and new window commands.
- Is there a way to know how much RAM each page takes, so that I investigate?
Unfortunately there is no (known/easy) way to see the per-page memory usage. The closest way is to press Shift+Esc or right-click the tab strip and select Task Manager to see the per-process memory usage.
One thing you can try is to open each page in a new process (using one of the aforementioned methods) and then compare.