I'll try to go into some answers for your questions, but first things first my recommendations: I would highly recommend putting a hold on planning to do anything with virtual desktops or remote desktop session hosts at this point. It can get very complex and expensive, and if you are just starting with networking and a server environment, you are starting to make things too complex all at once.
There are two ways of doing remote desktop environments off of a server with Server 2012. The first, traditional, method is session-based access to a single virtual machine, called Remote Desktop Session Host. With this method, end users use Windows Remote Desktop to connect to a single virtual machine on the server which will give them access to a desktop with the programs that are installed on that VM, such as web browser, word processors, a database program, etc. Not ALL programs will work right in a RDSH virtual machine environment! Each user that logs into the RDSH server will be given an identical desktop and user experience, all sharing the resources assigned to that virtual machine, but it doesn't actually create separate machines for each of them to work on. This means that any changes made while they are logged in do not save when they log out or the session ends. For some situations this is ideal because everyone gets the exact same desktop, programs, and user experience, and once they log out all changes are lost and reverts back to the same settings and configuration it was originally configured with.
There's a second way of doing remote desktop on a server, and that is with VDI. Virtual Desktop Infrastructure creates individual virtual machines on the server for users to have access to, instead of just granting them a session on the same virtual machine. These virtual desktop VMs thus can have changes saved to them and can be individually customized to fit the need of the end user. For instance, you can have a mixture of Windows 7/8, or even linux environments that a user is directed to when they are logged in depending upon settings on their user profile and your Connection Broker, a component or role on the server which helps direct where people are logged in with a VDI solution.
VDI requires more performance overall to implement because you are running more individual virtual machines than through a traditional terminal server or RDSH server. However, it offers more flexibility and the ability to have changes and environments saved, customized, and modified by end users. Either way you go, there are additional licensing cost. And besides the additional complexity, the additional cost is why I would highly recommend you holding off doing anything with remote desktop on your server for right now.
For a small office environment, especially with what you are describing, almost every time it ends up being more costly and less effective to purchase the RDSH server licensing, the additional hardware necessary on your server, the thin clients, etc. to connect up to remote desktop than it costs to just purchase individual desktops which give you even better performance capabilities.
So thin client vs. zero client. A thin client is a very basic computer. It has limited performance capabilities and a very stripped down operating system designed to run only the most crucial services. I'm not expert with thin clients, but the Windows Embedded 7 ones that I have worked with are incredibly easy to navigate and use because the operating system is basically a very stripped down Windows 7 that is very familiar and easy for people to use. The primary usage of the thin client is to give users remote desktop access to a terminal server so they can use that for running their shared primary software, but a thin client may also have some additional lightweight software installed, such as web browsers or word processors. In contrast a zero client has pretty much no local hardware resources. It has an integrated processing chip which is only used to create a remote desktop connection back to another server. There's no other programs or usage for the zero client besides this. Zero clients can be handy, but are only usable in very specific implementations of VDI utilizing the right software and configuration.
Again, implementing virtual desktop on your server becomes a very complex (and can be very expensive) undertaking. If you are just starting with your network and server environment, I would not recommend doing all of this at once. Get things up and going efficiently first with your domain and storage needs, ensure that you can handle managing that. Then look into evaluating the cost difference between running virtual desktop against the cost of just running individual desktops. In my experience for most small businesses, it just doesn't end up being cost effective to do virtual desktop over having individual desktops which offer greater performance options as it is.