I don't believe there is a single "best" answer to this: some people like to keep all of their packages in a single workspace, others like to group packages that they use for particular projects into separate workspaces.
Neither is necessarily better than the other.
Personally I keep separate workspaces for just about everything, and use workspace overlaying whenever I need certain packages in other workspaces.
Edit:
Thank you for answering. So if I keep all packages in one workspace, whenever I use catkin_make to build packages, it will build all my packages, but usually I don't really need other packages.
That could be one reason to have multiple workspaces, yes.
On the other hand, catkin_tools supports profiles that allow you to configure black and whitelists. If you'd want, you could have a workspace with 1000 packages, while still only building 3 of them (for instance).