Codesmith is a tool for speeding up development by generating code. The code is generated by pointing the template a table in the database and it generates code based on the table structure so the template does not have any code you need until you use Codesmith and point the template at a table to generate code.
You don't need Codesmith, you can code everything by hand, but it can speed up productivity and is a very useful tool.
There is a lot to learn in software development and especially in web development, all I can suggest is pause and rewind the parts that you are having trouble with. It is expected that one have some experience with ASP.NET development before learning mojoPortal specific ASP.NET development. If you don't have that background you could get a book and study that first, there are also tons of tutorials online for learning ASP.NET development.
The videos really give you a step by step walkthrough with a lot of concepts covered. This article by Steve Land may give you a better condensed summary: http://techblog.strongeye.com/archive/2009/12/16/creating-a-mojoportal-module.aspx
Hope it helps,
Joe