I am guessing at the general nature of your question that this is a relatively new topic to you.
Types of blocking are documented throught SQL Server help, MS's knowledge base and so on. It is a necessary part of the process when handling multiple users or processes updating potentially the same information and a fundemental of relational databases.
A basic lock will stop one person changing data that is currently being changed by another. In a transaction you might want to select the data and lock the data while you are making changes to it, preventing anyone else from changing it or even reading it until you have made the changes.
Schema locks stop people changing the structure of the table. There are many kinds of blocks - some exclusive, some share.
Please do consider that blocking is a process trying to get something that is locked by something else.
This Microsoft TechNet blog gives some good information of the different types of locks on SQL Server 2008: http://blogs.technet.com/b/josebda/archive/2009/03/19/sql-server-2008-locking.aspx
Here is Microsoft's Understanding And Resolving Blocking Problems article: http://support.microsoft.com/kb/224453
I hope this helps get you started.