Eitan Blumin has a few non-standard use cases for extended properties:
Let’s say that you’re using the CHANGE TRACKING feature in SQL Server for the purpose of synchronizing one or more tables from one database to another.
For this purpose, you would have to keep track of the value of CHANGE_TRACKING_CURRENT_VERSION() when you last synchronized your data, so that you’d know which value you should use with the CHANGETABLE function during the next synchronization.
Most DBAs would think of creating a dedicated table to manage this synchronization per each table.
But why should you, when you can simply use extended properties for this purpose?
I’ve used extended properties primarily for documentation, so it’s interesting to see a couple of use cases which are definitively not about documenting objects.