A Runspace is a specific instance of PowerShell which contains MODIFIABLE collections of commands, providers, variables, functions, and language elements that are available to the command line user (or more generically, to the "host" application).
Generally speaking, Runspaces are a developer topic. If you're on the command-line, you can only modify them by modifying your session, and if you're a typical command-line user, you won't really even be aware of Sessions except when you use them to connect remotely to another computer. However, each session has an associated Runspace (or RunspacePool) that controls what is available to you, and it is possible to create "constrained" runspaces in order to only give users access to certain commands and not others....
In PowerShell 2.0 you use the RunspaceFactory class to create Runspaces or RunspacePool. You can read more about Runspaces on MSDN