At the end of the day nothing the ‘black hats’ know is criminal knowledge, it’s just how the knowledge is applied. Having a deep understanding of any technology is valuable as a programmer, it’s how we get the best out of the system. It’s possible to get by these days without knowing the depths as we’ve more and more frameworks, libraries and components that have been written using such knowledge to save you having to know everything but it’s still good to dig from time to time.