If you think vSphere Client exposes everything, you are wrong. The vSphere APIs actually expose more features than the vSphere Client, which is a great product. This is one reason why system administrators should learn vSphere APIs.
While writing my book, for example, I noticed that vSphere APIs actually allow you to change guest OS screen size with a simple call setScreenResolution(int width, int height).
Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.
Given the time pressure, I didn’t summarize these API only features at that time. To be honest, even if I tried, there would be a big chance that I had missed quite some due to the size of vSphere APIs.
Days ago when reading the vSphere Web Service SDK Programming Guide, I found yet another good sample. On the page 116, it says:
Linked children gives better flexibility. In particular, you can create virtual applications that span clusters. The vSphere Client does not support adding or removing links, though it does show links.
To give you a little context, the linked children of a virtual application are like the linked files in Linux or shortcut files in Windows. You can use updateLinkedChildren() to change them.
I think you may also know more such features that are exposed only via APIs. Please feel free to add them in the comments.