Functional testing tools makes automation testers life easier.  They come handy while working with large projects since they are easy to use and maintain rather we writing a library or in-house tool to automate our applications . During initial days of automation testing (at least while I started) tools such as QTP, WinRunner and name few were the only tool which automate applications and used only scripting languages for writing test scripts. But now we have tools which do a lot than what it was initially and uses programming languages such as C#, JAVA etc to write test script. Functional Test tools are getting integral part of testing and are used along with product development. In Functional test tool, we will discuss on the following tools
Seleniumselenium
With Selenium, we can automate browsers and do functional testing, Simple yet powerful tool. And its totally free !!!  
Visual Studio Test  VisualStudio
With power of Visual Studio and C# we can automate Web, Win and WPF. We can also do manual testing using MTM.  
QTPQuick Test Professional (QTP)
QTP is the best tool for automation, easy to learn and use, powerful and built for that purpose. Has everything but comes at cost    
TestCompleteTest Complete
Great tool from Smart bear, easy to learn and use, cheaper than QTP !!!