Different models have come in and out of favor, usually driven by the kind of technology available at the time. Now that Internet access is becoming more universal, the server-based, or online, model is becoming more attractive. As you can imagine, each computing model actually has its own strengths and weaknesses. They are permanently tied to the host network. Software may be run on the local machine or on the server.
Data generally resides on centralized file servers.
Applications are downloaded from the network, and run on the client, by means of Java. From the user's standpoint, an NC is pretty much the same as a dumb terminal. However, NCs are more flexible, as they can connect to any server, with a variety of network protocols, whereas a terminal can connect only to its host network. All applications execute on the server, and data is stored centrally as well. This can be as simple as an online search engine, or as complex as a suite of enterprise applications.