Generally, in high school and uni I just learn the conceptual/difficult stuff progressively and make sure I understood all of it, while I instead crammed all the rote learning stuff to memorise it. There's a big difference between the two. Even for conceptual stuff, once I understood all of it, I wouldn't bother memorising each individual step or whatever until later. As long as I understand stuff, I don't see a point memorising it until just before I need it because I'd forget by then anyway if I did it any earlier. However, this sense of understanding always seems to carry through for me so the cramming process is much faster and actually viable to perform 1-2 nights before. Where it doesn't work is when people try to cram lists of information without any sense of understanding it.
EDIT: Do note that this approach might not work for everyone. I'm a bit OCD so when I say understand, I mean that I literally have to understand every aspect of something, often to the extent of beyond the syllabus (especially in uni). However, others might struggle to understand what's just in the syllabus alone, and this is where a tutor or teacher often helps. Also, some people's memory might not be their strong point, so starting the memorisation process earlier would help for that.