Rob Sewell describes his experience creating a new cmdlet:
The journey to Remove-SQLDatabaseSafely started with William Durkin b | t who presented to the SQL South West User Group (You can get his slides here)
Following that session I wrote a Powershell Script to gather information about the last used date for databases which I blogged about here and then a T-SQL script to take a final backup and create a SQL Agent Job to restore from that back up which I blogged about here The team have used this solution (updated to load the DBA Database and a report instead of using Excel) ever since and it proved invaluable when a read-only database was dropped and could quickly and easily be restored with no fuss.
This is a combination of describing what the cmdlet does as well as the circumstances behind its creation. It’s a good read.