In general, the difference between a want and a need is that the former is something that we desire, but we can live without it, while the latter is something that is vital for us. So, if a stakeholder needs something, you have to accommodate it and you cannot negotiate it out of the project. If a stakeholder wants something, you can convince him that what he wants may not be good for the project, and he may ultimately drop what he wants.
Now how to differentiate between a want and a need? In order to do so, you need to understand that each stakeholder has an agenda, and you need to guess what his agenda is. Sometimes, it is very easy to differentiate between the two, by just asking the question "Do you really need this? Can this wait for till phase II? etc..."
Expectations are completely different. Expectations are built on what the stakeholder assumes about the project and the project manager, and it is the job of the project manager to know and manage these expectations. Expectations are usually only explicitly communicated to the project manager when a task is done and it is missing something that was "expected" by the stakeholder.