I'll let the community speak to their experience, but here are my thoughts:
1. Sterling is perfect for what it does - serialization of domain sets that target the client experience. It does not manage millions of rows.
2. Sterling allows you to focus on the design of your classes and then persist them. You don't have to change your classes to work with Sterling and you don't have to model them after a database. Sterling takes care of it for you.
3. Sterling gives you full availability of LINQ to Objects to query, sort, and manipulate data
The main advantages over SQL CE is that it is object-based so you aren't restricted by columns. You can declare a "table" with an "object" property and store three different object types in three different rows and Sterling will handle it fine. That is also
the main disadvantage - because it serializes the full object graph, it must deserialize the objects to get at information so if you aren't able to cover what you need through indexes, performance takes a hit. SQL CE also goes directly to the file system and
uses a single file for the database, which is going to be far faster than Sterling which currently has multiple files and uses isolated storage.