Ah, cheat engine! nostalgic over here. I used to cheat on so many games that my game was actually trying to cheat. After you succeed, you loose all fun and interest in the game though, so I stopped cheating.
@13, CE sees the whole virtual address space of a process. You are right, we have no idea on which address points to the health and that address will change (well it depends on compilation options, but will most likely). However, what you can do is you can search that virtual address space. Say you first keep only addresses with value 80 because you have 80 health. Of course, a lot of addresses will just so happen to have value 80. Then you loose health to 70. You make a subsequent search saying off all addresses which value was 80, now give me all addresses where value is now 70. If you are badlucky, other addresses will also happen to have value of 70 and were 80 before, but it's unlikely and will be more and more unlikely as you make next scans until you narrow down the list of addresses to one address which must be the address pointing to health.
This is the basics, but there are more advanced techniques as games also have techniques not to be hacked. CE has a tutorial if I recall which gives you a starting point.
Reading is one form of escape. Running for your life is another. ― Lemony Snicket