If the performance improvement is almost immesurable, why do we have NOLOCK/READ UNCOMMITED?
Basically, they're useful when we want an approximate result of a changing data set. These cases happen and we should be thankful to have this option available to prevent some problems that might come from blocking. That said, I won't ever recommend (as some people do) to use it on every single table on every single query.