If any of software relies on different versions, yes. It beats not being able to use something because you can only have one version of a library shared.
How does this work with compiling software. For example, I routinely compile programs that use different versions of openssl. Does NixOS make this process any easier.
Yes that's one of the greatest things about nix. You can have 100 pieces of software installed that all use a different curl version without issues. You can also develop 100 piece of software/compile that all use a different curl version at once.