Regarding an SSD, writing "Zero's" (programmed) will harm your SSD. Maybe Harm is too strong a word, but with Zero's an SSD will have reduced write cycles remaining and the drive's controller will be tasked with a huge maintenance cleaning job before those blocks can be written to again, causing a severe performance hit at best. Writing Zero's to an HDD leaves the drive in an empty clean state. However the opposite occurs to an SSD which will be left with all blocks full. These blocks have to be erased before they can be used again, writing 1's (erased) to an SSD is equivalent to writing 0's to a HDD.
Regardless of a modern HDD or SSD, the actions of a secure erase is programmed into he drive's controller, so the correct action will be taken when 'Secure erase" is commanded. Remember not to confuse "Erase" options of partitioning and format utilities with "Secure Erase" which is totally different.
Look after your SSD's using Secure Erase ONLY. To restore like new(if possible) performance to an SSD use ONLY Secure Erase,. Unlike Secure Erase for a HDD which can take hours, the actual secure Erase of an SSD completes instantaneously since the task is purely electrical. I think it's safe to say all SSD manufactures provide a Secure Erase utility, however a Secure Erase extension is available in the repo for this.
With all MLC devices, SSD's, SD card's, USB Thumb drives etc. etc. use secure erase to restore like new condition and performance.
Format with 1MB offset for best write performance. Align by 1MB covers a multitude of scenarios, after all 1MB of space is a small price to pay for performance. Whatever, do not align by Cylinder mode on a SSD (or any MLC device), even HDD's perform better aligned to 512KB or 1MB rather than cylinders.