I use LINQ in pretty much all of my work these days. Having the ability to query any enumerable is extremely powerful, especially given the way LINQ, IEnumerable<T>, and IQueryable<T> are designed. The expressive nature of LINQ is not only easy to understand, it can also greatly improve the efficiency of an application by delaying execution until absolutely necessary, and only processing exactly the data that needs to be processed without wastefully creating temporary collections and copying data around.
Beyond the basic IEnumerable and IQueryable stuff, LINQ also introduced the System.Linq.Expressions namespace. By utilizing expressions in your own types and methods, you can inject the benefits of link into your own API's. A lot of things in C# and .NET often require strings that represent physical runtime types. Reflection is most notable, but there are many other instances. Using expressions, you can add compile-time checking of what would otherwise be string data that can't be compile-time checked. This is probably one of the most powerful features that LINQ brought to the table, and one I try to use every time I get the chance. I'm not sure that a lot of people realize they are using LINQ or LINQ-related things in some of the API's I've designed, however it is there.
I think the functional capabilities of LINQ and its close relatives, like expressions and lambdas, are used more than many .NET developers realize. I've heard many developers I work with mention how they dislike LINQ while at the same time use some of its capabilities, such as the Where() or Select() method. It may be that LINQ is sorely misunderstood, and is primarily associated with LINQ to SQL...however LINQ is more than simply a basic ORM framework. It is one of the more powerful and intrinsic capabilities of C# 3.0, and if it isn't used that much, it really should be.