Fire, police, public works, etc. are simply groups of USERs of a trunked "system". These users have defined talkgroups that are programmed in their radios. The trunked "system" has many talkgroups.
A wildcard simply allows you (the scanner user) to find previously unidentified talkgroups on the trunked "system" (talkgroups that are not posted on RadioReference).
Think of your programming of known talkgroups as a "filter" in your scanner. Only those talkgroup programmed pass through the "filter" and be heard. Anything not known/programmed will be blocked from being heard on your scanner.
A wildcard object is essentially saying "let me hear everything (talkgroup or radio ID) the trunked system knows about - even the stuff I haven't programmed in my scanner".
In your scanner, a trunked "system" can only be programmed with ONE talkgroup wildcard and ONE PRIVATE wildcard. However, these wildcard objects can be assigned to 1 or more of your scanlists. That means, you can create a talkgroup wildcard and assign it to a FIRE scanlist, POLICE scanlist (and others - even all) at the same time.
There is at least one possible exception but that goes into advanced/specialized programming (duplicating systems) - but that results effectively on creating two systems.