IMHO, the selection criteria for which RDBM to use for a given project would not be simple vs. complex.
I sort of disagree. Always use the simplest solution that will do the job. The trick is to know how to even measure "simple versus complex". For me, working at home on my little home server and home improvement projects, it is nearly always my own time. If I can use pre-cooked technology to solve a problem instead of having to implement the solution myself, that is nearly always advantageous. Similarly, if I can use a tool that is described in a 100 line man page, that is much better than using a tool that requires 3 big books to read before you can start using it. Other people will have other definitions of simple versus complex, depending on their needs.
Do you really need a DB backend as a server, i.e. running as a daemon listening on local domain and/or IP sockets.
...
That is also a very good question.
The other very good question is: Do you actually need SQL? If your schema is complex (dozens of columns), and you don't know ahead of time what type of queries will be done, then you really do need SQL. In particular if your data is valuable for things like analytics and business intelligence a.k.a. data mining. For example, you are recording a whole variety of measurements (water pressure, water well level, temperature, rain, whether the heater in the house is on, how much propane is left in the tank, outdoor lighting, sunlight intensity ...), then I can see a human wanting to measure correlations or check crazy things, and that's the realm where SQL queries are perfect.
On the other hand, if your schema is really simple, only 2 or 3 columns, then you'll never have to use SQL to query it. For example, you're recording network bandwidth as a function of time, every 5 minutes: there is nothing you can do with SQL that you can't do much easier with awk, or a 5-line perl/python/ruby/... script. For that, a NoSQL database is probably much easier to use. And if you don't need an external server (only one program uses the database at a time), then a simple non-transactional key value store like Berkeley DB is probably perfect.