Varchar is a string of varying length, up to 8000 characters. Nvarchar is a unicode edition of Varchar, up to 4000 characters. Text is a CLOB (Character Large Object) that can contain up to 2GB of text, and the NText is a unicode edition that can hold 1G characters. Note however that SQL Server 2005 also have got (n)varchar(max) (also seen as n(varchar(-1)) which is a varchar-implementation of n(text). In SQL Server 2005 (n)text is deprecated, and you should use (n)varchar(max) instead.
And now, It's time to be dead honest. If you do not know what the basic datatypes are and how they work, you most likely does not know the deatails of how primary keys work, clustered and nonclustered indexes and so on. Thus, It would actually be beneficial if you handed the creation of tables to someone posessing these skills. Otherwise, I'm afraid that you might get a solution performing poorly, and consuming a lot more space than neccessary.
Basically, it depends. Should the database store names of people with english names only? If so varchar is the best choice. However, there are more obscure letters than a-z around the world, as i my last name Bangås or in an icelandic name like Þorvaldur. If you should take these in account as well, you'll have to go for navarchar. When it comes to address, the story repeats itself. There is no problem storing for instance London as the city, but the lovely Lithuanian town named Trakų is. For email addresses it should be fairly safe with varchar though, but some people have fairly long email addresses, so I think I would go for varchar(60) or longer.
Finally, whatever you do, limit the size of all (n)varchar fields, or you might end up running a query making tempdb go full.