Functional tests are even more important than unit tests because they verify that your system is ready for release. The functional tests define your working system in a useful manner. Traditional development captures requirements in use cases. Usually, people argue about the use cases and spend a lot of time refining them. When they're finished, all they have is paper.
Functional tests are like self-validating use cases.
Extreme Programming methodology can illustrate this concept. XP Stories are commitments to a future conversation between the customer and developers. Functional tests are the output of this conversation. Stories without functional tests can't be built very well. Functional tests fill in the gap left by unit tests and give the team even more confidence in the code.