If your tests never fail than functional tests are all that you need. But if something fails in your functional test, how do you go about determining where it is failing? It is this for which Unit tests excel. It definitely gives _me_ the warm fuzzies when I can verify the changes to one specific module still does what the tests expect them to do.
In theory, the functional tests are redundant since if all the Unit tests work, then of course all the functional tests will work as well. But then, we know that theory doesn't always map correctly to reality.
<code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>