How would adding zil not have a positive effect? zil is used for writes, right? Could you explain why?
jgreco explains it far better than I ever could, but I'll try. The zil is used for *sync* writes. Async writes get queued up in regular transaction groups (txg's) and get flushed to the pool at 'regular' intervals. Sync writes get commited to the zil first (so they're not lost), and also get queued up in txg's for flushing out to the main pool. By default, the zil is 'in pool'. If there's not a lot of sync writes going on, this is perfectly acceptable. Async writes don't hit the zil and just get buffered in ram. That's a typical home use scenario. In the case of lots of sync writes, zfs needs to ensure data integrity. So these writes are commited to stable storage (zil) first, AND queued in ram in order to be flushed out to the main pool later. If there's never an unclean shutdown, the zil is never read from. It's only there as a 'just in case'. Moving the zil onto a dedicated device (slog, or separate intent log) allows use of an ssd to 'absorb' all the critical sync writes as fast as possible, allowing for data integrity while maintaining a write buffer. If there's never an unclean shutdown, or crash, the ssd will never be read from as everything written to the ssd is also bufered in ram and flushed to the main pool in the exact same way an async write is.
Understanding this, helps with the understanding of why not all ssd's are applicable as good zil devices. Most (all?) ssd's use dram internally to 'buffer' writes. If the ssd can't guarantee that the contents of the dram buffer is 'safe', the dedicated zil device is not really providing data integrity. Typically an ssd needs a supercapacitor, or bank of capacitors in order to be able to commit to flash the contents of it's dram buffer.
I've actually benchmarked where a dedicated zil has slowed down regular async writes. Sync writes were faster with the ssd of course, but if you're not doing large sync writes, who cares?
tl;dr would be kinda like this: A suitable ssd acting as a slog (dedicated zil) allows sync writes to be 'converted' into the speed (or near the speed) of async writes while still maintaining posix data compliance. If there's very little sync writes going on, a dedicated zil is of very little use, as everything is async anyway.