The naming conventions for Resources and Pools are different from the rest of CloudBees CD (CloudBees Flow) in that they have restrictions on how they are named. They are not even consistent with each other.
What drives the difference is that there is one special context in which you can enter either a single resource/pool name or several resource/pool names in a single, one-line field. That case is when you specify the "Resource" field in a step that is marked as "Broadcast". The server will take the field, break it on a whitespace, comma, or semicolon and treat each token as a single resource or pool.
Resource names can contain spaces, but if they have a space in the name, they cannot be included in the "Resource" field of a Broadcast step because the server will misinterpret the separated components of the name as individual names. Putting the separated name in quotes will not solve the problem.
Because of this issue, it is recommended, but not mandatory, to create names with no spaces in them.
An alternate way to solve this problem is to use only Pool names in the "Resource" field of a broadcast step. Even if the underlying resource name does contain a space, referring to it indirectly by its pool name will not cause a problem.
The following applies to pre-3.10 only.
Pools do not exist as independent objects in CloudBees CD (CloudBees Flow). They exist only as a text tag that is attached to one or more resources. The server is responsible for finding the tags on the Resource and grouping Resources that have the same pool name.
The "Pool(s)" field on the Resource page can contain one or more pool names, strung out on a single line, separated by a whitespace, comma, or semicolon. Because of the way this field is interpreted, it is impossible to create a pool that contains a whitespace, comma, or semicolon.