It isn't necessary. I have all sorts of different projects in my workspace. The main thing is that after a while, the workspace gets littered with projects that don't have to do much with each other. I think in the near future I'm going to create a workspace for the projects of each of my major clients. The main thing to keep in mind is how big you want the workspace to get versus how much of an annoyance it would be to switch to another workspace as you work.
An IDE is no substitute for an Intelligent Developer.
I have multiple workspaces where each workspace is dedicated to a "project", with the term "project" being used in its loosest sense (not in the Eclipse sense). For example, one of my "projects" is the JBoss in Action project where I maintain the source code for the book. Thus I have a workspace dedicated to it with each chapter of the book being an Eclipse project. No other work is done in that workspace. I also maintain a separate workspace for each "project" at work, usually because each such project requires its own configuration settings.
I also have multiple installations of Eclipse, some of which are dedicated to specific projects. I usually do this if the project has certain requirements, such as plugins, which I prefer to keep isolated. For example, I have a separate Eclipse installation for each book I review, and each has a dedicated workspace.
But it really comes down to your preferences and how you like to work. This system works for me but might not work for someone else.