I haven't used InstallShield in a few years. At my last job we moved away from it to NSIS mainly because its binary format made version control difficult, and because a few times the source file simply became corrupted, with no hope for recovery. That might have been related to SourceSafe of course!
On top of that though, it was needlessly complicated. Don't get me wrong - we were doing some reasonably complicated installers, with lots of conditional paths, merge modules, and sophisticated UIs, but even for that it was far, far too complex.
NSIS has a great plugin system, and you can program it imperatively using the LogicLib plugin, have automatic uninstall files generated, and lots of other things besides.