There are a few - not sure if those matter to you:
- limited to SQL Server as backend
- requires at least .NET 3.5 to run
- somewhat limited in that tables are mapped strictly on a 1:1 basis (one table = one class)
But again - those are just limitations, but a lot of folks (myself included) can live with those no problem - at least for a certain type of project.
If you need more flexibility (more database backends, more granular mapping), you should definitely look at NHibernate or later on at Entity Framework 4. They offer more power and more punch - but they're also a tad harder to learn.
ON the other hand, Linq-to-SQL also has massive pros:
- visual designer makes it really easy to use
- using LINQ, you're much more productive than using straight ADO.NET and sprocs
But I'm sure you're well aware of those pro sides, right? :-)