Usually when you build software from source, it will be for one of several reasons:
You want to help with the development of the software. Obviously if you're going to develop the software, you need a copy of the source, and a way to test your changes.
You absolutely can't tolerate a certain problem with the latest stable version of the software. In this case, there may be a patch available, so you hope to build from source, with that patch applied. Or, a fix to the problem may be available in the latest source, but no release has been made since the fix was committed.
Often times when packagers compile software, some decisions are made at compile time. If you require different configurations, or wish to optimize for your specific system, compiling the software yourself will allow you to do this.
Usually when you build software from source, it will be for one of several reasons:
You want to help with the development of the software. Obviously if you're going to develop the software, you need a copy of the source, and a way to test your changes.
You absolutely can't tolerate a certain problem with the latest stable version of the software. In this case, there may be a patch available, so you hope to build from source, with that patch applied. Or, a fix to the problem may be available in the latest source, but no release has been made since the fix was committed.
Often times when packagers compile software, some decisions are made at compile time. If you require different configurations, or wish to optimize for your specific system, compiling the software yourself will allow you to do this.