What is the difference between these two create table statements?
The second statement is creating an object table.  

It is almost never the case that you really want to use an object table.  That was something that was introduced in the 8i time frame when Oracle was making the database object oriented.  While a lot of the object oriented PL/SQL enhancements have been useful, using object types in SQL is not something that I'd recommend.