Probably late to the party but just wanted to add my 2 cents in this great ocean of advices.
I usually swim in shallow waters with "just enough" understanding to get the job done. Sometimes the tasks at hand will pull you in to more deep waters where you have to learn more in order to do the work. That is when reading the documentation properly (or other great tutorials material on the subject) come in handy. Of course if its coding that we are talking about it greatly helps to be accustomed to using a debugger so you can see deep in your code.
Most probably people you see having deep knowledge are people that their assignments/work forced them to dive deep and understand the concepts in order to deliver.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.