We can understand ideas horizontally, by studying the breadth of ideas available in a particular field. We can also study ideas vertically, by looking at the lineage of current ideas extending into the past. I think deep understanding of an idea requires both, but especially the latter.
A horizontal survey of ideas gives you awareness of the status quo, the cutting edge, the current consensus. But real understanding requires knowing how ideas are connected, and how flaws and advances in past ideas have contributed causally towards the emergence of ideas that currently hold consensus. Understanding, in this way, isn’t just a collection of ideas but ideas integrated over time.
For example, I could study the current state of the art of compiler design – the tools we use and optimization techniques implemented in modern compilers. But why do these designs exist? Why didn’t alternatives win? A good understanding of compilers would involve going back and understanding how past designs of compilers motivated the current ones, from the IBM 360 to GCC and LLVM, from 16-bit to 32-bit architectures, through the emergence of microcode and microarchitecture.
Another great case study is found in mathematics. Modern pure mathematics is sprawling, covering a thousand distinct subfields each of which require a graduate degree to properly understand. But most of modern mathematics emerges from a single family tree of ideas.
Lastly, I think this is the best way to understand political and economic theory. Not just studying the status quo, but understanding the motivating examples of ideas in politics and economics throughout history, and how the flaws in one caused the success of the next school of thought.
Understanding is two-dimensional, breadth and depth. Breadth gives you coverage, but depth gives you understanding.