I've known loads of people who carry around a head full of trig identifies that they have learned by rote and have no clue why those identities are the way they are.
This is a terrible way of learning, and it can happen due to faulty teaching but sometimes also due to some student's attitude.
Quite a bit OT, but relevant:
During the "Sequential and Combinatory Systems" course at my uni, we were studying among many things (the usual: Karnaugh maps, Mealy and Moore FSMs etc. etc.) Z80 assembler programming.
A friend and colleague, smart and with very good marks, came to visit.
He was flabbergasted when I explained that the board in front of him was a tangible, real Z80 with RAM, EPROM etc.
"Oh, I'd never have thought that this thing existed!"
For him the instruction set, ROM, RAM and ports were all just a conceptual exercise - bearing no relation whatsoever with the physical world - he had categorized it more or less as an overly complicated, abstract, way of representing state machines.