You raise a topic that can be confusing for newcomers to the space.
In summary, Ethereum can be accessed by a browser, or by a server; anything that can speak the protocol. The Mist browser is more tightly integrated as one might expect, but others can work as well if the right requirements are loaded.
To help put this into perspective, it's possible to create fully distributed web app (Dapp) that uses Ethereum Smart Contracts. The Browser will speak directly to the Smart Contracts, usually through the Web3.js API. The browser will, of course, load the API to make this possible and it will need a local node so the API has something to talk to.
In the case of Mist, this is automatic, but other browsers can download it. So, the html would include a <script>
to load it. The author might choose to add a little detection so the browser page acts a little differently in the case that Mist is detected or "Other Browser" is detected.
It's also perfectly acceptable for a server to interact with Smart Contracts. As you have seen, nodejs would load it with require("Web3")
. In this case, the browsers would (normally) not need a blockchain node or any special library because the server will be getting the on-chain information. Integration with other languages is possible, e.g. python, using a python-ethereum library built for this purpose.
For some real-world examples, etherscan.io (blockchain explorer) uses a server-side integration. The browser doesn't require a library or a node, because the backend server provides information about the chain that it finds on behalf of the user. This is why it "just works".
The Auger beta is distributed. To use it, the browser loads a library and the user is expected to have an Ethereum node running locally, without which the app doesn't work as expected. The easiest/fastest way for a user to meet this requirement is to use Chrome with the MetaMask plug-in that provides a "light client" interface without the need to sync the entire blockchain.
Apologies for the long-winded answer. There are a lot of deployment options and this makes it difficult to provide a summary that's correct in all cases.
You'll find it's important to realize which scenario is being described to put various how-to suggestions into perspective.
Hope it helps.