NHibernate saves you from re-inventing the wheel. 90% time you choose file new project its going to be a CRUD(Create, Read, Update, and Delete) project with Database back end. NHibernate does a lot of that work for you hopefully taking away some of the tedium of having to write a new data access layer for every project. If you write to a database I would say yes you should look into NHibernate, but there are a lot of ORMS out there. I say try them all.