FP is a toolset that makes some problems easier to tackle and some problems harder to tackle.

You'll get better at your craft as you take the time to learn your tools, what they're good for and what they arent.

I think what is often taken for granted and omitted in these conversations is what real world scenarios certain techiques shine

Here are some places where functional programming concepts are put to good use:

++++++++++++++++++++++++++++++++++++++++++++++++
A nice use of Monads to model async queries
http://www.aboutcode.net/2008/01/14/Async+WebRequest+Using+LINQ+Syntax.aspx
Based on
http://blogs.msdn.com/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx

Throw in a Maybe Monad or an Exception Monad and you could get robust error handling in there too.

++++++++++++++++++++++++++++++++++++++++++++++++
Benefits of and a series on immutabability in C#
http://blogs.msdn.com/ericlippert/archive/2007/11/13/immutability-in-c-part-one-kinds-of-immutability.aspx

BTW System.String is immutable and that alone removes so many headaches compared to dealing with LPCTSTR or even CString

++++++++++++++++++++++++++++++++++++++++++++++++
The ability to clearly describe and implement certain kinds of computations. (The Monads sample counts toward this)
http://notes-on-haskell.blogspot.com/2007_12_01_archive.html

Take a look around and experiment a bit with languages. You dont have to use them but you can be surprised what they can bring to the table.