In broad terms there are 3 components that are defined in UPnP-AV.
Something that stores the content and hence makes it accessible.
Something that plays (renders) the content do that you can hear/see it.
Something that allows you to control things (select media item X and ask player to play it).
That last piece is the controller.
One device could be all, some or one of those things.
XBMC can be all of them - and interoperate with others that are playing the role of controller or media store.