LLE is the regular method of emulation, i.e. emulating the target hardware as accurately as possible, down to every single instruction. This is slow.
HLE on the other hand sacrifices accurate emulation, by trying to "rewrite" parts of the original code on the fly with code native to PCs, instead of trying to interpret and translate every single instruction the target hardware/game has (as is, grab a bunch of instructions and code during operation, and immediately try to guess what that machine code would look like in the form that a PC can understand it, instead of going through the arduous process of translating every single instruction one by one like LLE does, with no guessing involved). This is a lot faster, but compatibility and accuracy are lower than when using LLE.
Mind you that this was a very dumbed down explanation.
Good examples of the differences between HLE and LLE are Rogue Squadron and Indiana Jones and the Infernal Machine, both games which do not run on any N64 emulator as of now, but PJ64 1.7 has had success in emulating those thanks to LLE emulation. Far from perfect but still better than with the HLE emulation N64 emulators have now.