If you stick to RPMs from your distro's main repository and they match the version number of your distro then RPMs work well. Dependencies with RPMs can be overcome by running rpm --aid in a directory with all the distro's RPMs. Online updaters like YUM also work well by automatically installing the dependencies RPMs.
Building from source can help to overcome the dependencies, but you sometimes have to recompile whenever you upgrade a dependent RPM. This can be problematic in a business environment where you have to test all the dependencies beforehand. With standard packages the headache of regression testing is much less.
It really depends on your needs.