If you take a look at the SPListTemplateType construct, it's an enum
SPListTemplateType enumeration
so when you call SPListTemplateType.DocumentLibrary, what you actually get back is the list type ID, in this example 101.
Whereas in second instance, you get actual SPListTemplate object that you can work with.
You can use SPListTemplateType to create library in the following way:
spWeb.Lists.Add("List Name", "List Discription",SPListTemplateType.PictureLibrary);
I know that you mentioned that it didn't work but could you provide any code samples or exception you are getting, if you are getting any? Until we get some more information, it's all speculation.
var listTemplate = web.ListTemplates["Document Library"]; web.Lists.Add("Title", "Description", listTemplate);
Works like a charm.