The listener is required if users will access a database over a network. It works the same as a web site: you cannot connect to a web site unless it is listening for clients.
OEM Database Control requires the listener be running. OEM tries to connect using the syntax "name/password@service". Specifying "@service" tells Oracle to run the connection request through the TNS stack and hit the listener.
Your "oradim" command is only used to add new services to Windows. It does not create a database. As you noted, you created the database usign DBCA. The DBCA always runs "oradim -new -sid xyx" to create the Windows service, so you do not need to manually issue the command.