A UniqueIdentifier holds a GUID - a Globally Unique IDentification. This is basically a 128 bit number which is randomly generated on the basis that the chances of your ever meeting two identical values in your lifetime are lower than that of you winning the lottery.
Every week.
For the rest of your life.
And it's a good bet - the odds of two identical GUIDS is vanishingly small, and the "address space" of 128 bits is enormously large.
What do you use them for? Row IDs. One of the advantages of using GUID row ids over simple integers is that you can generate new rows on two disconnected systems, and you still won't have identical values when you connect them together and consolidate your tables - which is a true PITA to manage with integers.
Can you use them without newid()? Yes - the GUID can be assigned in the software inserting rows to the SQL table and they
still won't clash!
Guid g = Guid.NewGuid();
Will do it in C# for example.