There are 3 cases that are related to packages, 2 of which are related to the source packages.
Binary Only - This is where you installed a Deb package without the need for the source code. This is the typical one and normal users do not need to worry about the source code or working with it. Most packages that you find in the Software center for example are this type.
Binary + Source - There are some cases, where a Binary package might ask to compile something additional from the source as a step for a proper install. In most cases it will do it automatically but it will still need to download the source code to compile it and have a proper installation. Some proprietary drivers and some scanning tools are in this part.
Source - This is for developers, end users that want to compile their own packages or test out some changes in already existing code. Some cases, the source code is the only thing that comes for a particular package. About 50% of EVERYTHING is in here. Almost everything is in here... Almost (Proprietary drivers are not ^^).
So are source packages required: If you are the common normal user then you won´t need to worry about this packages. Even if you download something that needs to compile something additional to work correctly, you won´t need to worry. In almost all cases this is done automatically. You will in fact need the source if you:
- Want to contribute to the development of a particular program
- Want to learn the source Luke... Feel the source Luke!
- Want to test out your version of Empathy, or Nautilus or some Unity or any other package you want to get your dirty hands on.
- Want to create your own awesome version of Ubuntu (Awebuntu!)