OpenSSL is a toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library.
I would recommend OpenSSL for just about any kind of cryptographic operations that you may need. I can't think of a particular situation where it would not be appropriate to use OpenSSL for a cryptographic function of some sort or another. If you are going to provide some sort of encryption service in a product, OpenSSL is probably the best way to get it off the ground and going. With other competitors, you may get it working, but I fear long term support and interoperability will be an issue.
LibreSSL is another option to OpenSSL, however, the sheer volume of other applications using OpenSSL and the wide support for it makes OpenSSL a compelling product.
roi is hard to measure for openssl. It's not that it doesn't provide a significant roi, but it is in the background of an application, not the foreground.