Both are used to create a sub assemblies , when you create a sub assembly using component you can use within a assembly file you cant use it in another assembly. but when you create a sub-assembly using Product you can use in another file and even you can save it as a separate product file but you cant save as a separate assembly if you use component option.