NOLOCK is a select (only) hint and it's much a bad habit form older programmers since it was almost mandatory in SQL Server 7 but since SQL Server 2000 it's most unnecessary.
That hint in particular tell the engine the select can read rows even if it is in the middle of a uncommited transaction. Due to this you can experience dirty or ghost reads.
I strongly suggest you to read about isolation levels to know how to meet your particular system requirements.
Obs: Hints are not commands, you are only suggesting the engine to take a hint but the engine can decide to not use it.