The designers of Windows decided to make many things talk to each other over RPC - so that they can talk either locally or over a network.
This includes things like Active Directory, most MMC consoles, the functionality of some control panel applets like Device Manager, many of the things in Administrative Tools, and possibly internal Windows components.
I believe even when you are accessing an MMC console, like compmgmt.msc
to view things about the local machine, it's basically RPC'ing to localhost (I could be wrong though).
Think of RPC as something one level above TCP/IP that's used as a low-level (and insecure) networkable communications framework by many Windows components. Why not use TCP/IP directly? At the time Windows NT was engineered (initial version released in 1993), you had other network protocols besides TCP/IP in common use, such as Netware (SPX/IPX), NetBIOS, AppleTalk (I think Windows supported this back in the day, could be wrong ...) and such. So this is a network-agnostic way for Windows components to be able to talk to other components on the local machine or remote machine.
2Seriously? No upvotes? This is a great answer +1 – Dave – 2015-04-29T09:55:58.707