Unit Tests are written from a programmers perspective. They are made to ensure that a particular method (or a unit) of a class performs a set of specific tasks.
Functional Tests are written from the user's perspective. They ensure that the system is functioning as users are expecting it to.
ref. h ttp://www.softwaretestingtricks.com/2007/01/unit-testing-versus-functional-tests.html