I'm trying to decide how to describe someone. He is not very wise, but that is also due to his ignorance. Should I use "innocence" or "immature" and can someone please explain the difference between these two phrases?
Given your explanation, I'm not sure I would choose either word. Some other options:
I think I would go with naive. It's often used as a synonym for "gullible", but its original sense seems perfect here.
Using immature would give the idea that a person has the ability to show wisdom, but are not doing so in a situation.
Using innocent would portray a person that is more simple in nature, and possible unable to show wisdom in certain situations.
Adam Sandler in The Waterboy is innocent, while Adam Sandler in Happy Gilmore is immature.
If you are talking about someone who is ignorant because they are young and inexperienced, I'd suggest immature. However, if you are talking about someone who is ignorant because they have been sheltered from the world, I'd say innocent is more appropriate. Either way, I think innocent is slightly less offensive than immature.