Some of the use cases that I personally have done:
1) Make device turn-ups in one system reach out to LM via API to create devices and set custom properties.
2) Use the API to create devices from info in an EMS (when Netscan isn't sufficient).
3) Grab all collectors, pull their resource context, pull custom properties from the resource context, then set or update custom properties on the collector objects, for more custom "collector down" alert integrations.
4) Scan resources for 90+ day host down, and use team-specific custom properties to generate custom device list CSVs to different teams.
5) Rename devices based on a concatenation of existing snmp info and resource properties.
6) Switch preferred collector to autobalanced mode on every resource in a specified auto-balanced collector group, due to old manual UI settings blocking the devices from UI-based re-balance.
7) Edit netscans in bulk, because updating 90 netscans in the UI would be terrible.
etc etc