The IVR Server Administrator's guide is a good reference, but let me take a stab at your questions.
When using the IVR In-Front model, the IVR would communicate with the Genesys IVR Server components to allow the IVR to attach data to calls, etc. Generally what I've seen is an IVR In-Front, that is attaching data, and eventually selecting a site to send a call to for agent handling. In this case, the call would be first terminated on the IVR, but then eventually transferred to a pbx at a contact center. Genesys IVR Server would facilitate the transfer while preserving the attached data, allowing for a screenpop at the contact center.
Associating IVR Ports with an extension isn't always the case. But you do need to allow Genesys to somehow track each port on the IVR for activity, etc. In the IVR-Behind mode, some switches require each port to be assigned an extension, others simply use trunks, etc. Depends on the switch that the IVR is connected to.
While URS can provide basic IVR functionality, there are limitations. i.e. Having enough voice ports on the switch to handle playing of prompts etc. IVR's are generally better at integrating with backend systems as well. Think of having to do TN3270 type integration. Not easily acomplished with URS. However, with Peri it's easier. Having the IVR handle all of this reduces the resources required on the switch. Again, it kinda depends on what kind of switch you're connecting to. If you're just looking for a simple VRU type app (like a menu), then IVR is probably overkill - URS would be fine. But if you're really trying to build a self-service application, URS and a PBX may not be very well suited.
Agents don't login to the IVR, so the number of ports on the IVR has no bearing on the number of agents at the contact center.
Thanks,
Justin