Internal is when you use a injector and inject a .DLL file that hooks the game, internal can make basically the same hacks as External. E.g while using a DLL hack you can have the game in fullscreen and still use a ESP!
External is using a executable (.exe) program to read memory and modify thoose, or use them to time hops(As in a bunnyhop hack), make triggerbots by reading memory
Both hacks read memory if im right.
Correct me if im wrong, im also new to Hacking in general!
Edit: Adding on External bit, when making a external bit you can only make ESP visible if you're in windowed/Fullscren windowed!