What does xmlrpc.php do and how can I use it? I have seen xmlrpc.php but I haven't found much documentation out there. Is it possible to use this directly without any additional modules? Where is the canonical documentation for it?

Is xmlrpc.php what is refered to here as "drupal's xmlrpc"? If that statement is correct xmlrpc.php would be only for the blog module in core.
You should be able to use it for other RPCs. Example xml-rpc post for user.update shows an example of a user.update method call.  

&lt;?xml version="1.0"?&gt;
&lt;methodCall&gt;
   &lt;methodName&gt;user.update&lt;/methodName&gt;
   &lt;params&gt;
     &lt;param&gt;
       &lt;struct&gt;
         &lt;member&gt;
           &lt;name&gt;uid&lt;/name&gt;
           &lt;value&gt;&lt;int&gt;38&lt;/int&gt;&lt;/value&gt;
         &lt;/member&gt;
       &lt;/struct&gt;
       &lt;struct&gt;
         &lt;member&gt;
           &lt;name&gt;name&lt;/name&gt;
           &lt;value&gt;&lt;string&gt;diana.ruiz12&lt;/string&gt;&lt;/value&gt;
         &lt;/member&gt;
         &lt;member&gt;
           &lt;name&gt;mail&lt;/name&gt;
            &lt;value&gt;&lt;string&gt;ndy.r@eeuwkern.org&lt;/string&gt;&lt;/value&gt;
         &lt;/member&gt;
         &lt;member&gt;
           &lt;name&gt;pass&lt;/name&gt;
           &lt;value&gt;&lt;string&gt;candy9223&lt;/string&gt;&lt;/value&gt;
         &lt;/member&gt;
       &lt;/struct&gt;
     &lt;/param&gt;
   &lt;/params&gt;
&lt;/methodCall&gt;


It doesn't look like a widely used feature, and it will be moved out of core in Drupal 8.

See also Services Tutorials and Examples.