No, it has nothing to do with hex editors.
Most cheats that people make are usually infinite health, infinite bullets, infinite lives, infinite mana....
To make them people run a search for a health value, or just a do search if it is a health bar or something. They then lose some health and search again, lose more health and search again.... eventually you find the location, or enough locations that you can try them all. All well known to anybody that has made a cheat.
Sometimes you want to do something only when something else happens (a button combo is pressed, only on a certain level, only once the game has started.....). To do this you need to find something to indicate the game/button/whatever state.
In code terms it will be something like
IF [this area of memory] is equal/less than/greater than [some value] then do this to [another area of memory]
IF is a common programming term (others include WHILE and FOR, the latter being seen in what are known as slide codes but enough of that). It tells a program to do something when the conditions (hence the term conditional) are met.
Not all cheat engines on all consoles/emulators support such concepts, indeed it is not all that surprising if one does not.
In this case you would want to check if the health value is greater than 3 hearts (it might not be the value 3 if there are half hearts or quarter hearts, or it might start counting at 0). If it is greater then tell it to set the health value back to 3 hearts filled. That way you can have as many containers as you like but you will never have more than 3 of them filled.
Doing this would be far easier than figuring out what hearts mean to the game script -- does it just put a heart in your way on the way out of the dungeon, does it only activate the end of boss teleporter when the container is picked up.... The only problem I really saw would be if Link to the Past has the thing where you have a sword beam at full health like some earlier and later titles (I do not know if it does and a search was not getting me far). Another might be if you have a health fairy that wants to fill up your health and will basically lock the game if it can not do it but that is easily solved (disable the cheat for a few seconds), though if the coders were good they would probably make a health fairy just add 20 health rather than try a loop.
As mz said you can probably also do this with emulators that have Lua support, Lua is a full programming language used all over the place (not just in emulators and games) so it definitely will have conditionals/branch code/loops. Various people use Lua to help hacks and whatever else. Here is a discussion we were having on one for the NES (
http://www.romhacking.net/forum/index.php/topic,18717.0.html ).
The idea would be much the same -- find the memory location of the health in the game, have the lua script read the value and if it is greater than 3 hearts you would tell it to set it back to three.
I would prefer to do it in cheats as it is more portable between emulators (or even real hardware) and this does not really need the full power of Lua to do it but it is still very much a valid method.