Which should I use and when: node_load() or entity_load()?
node_load is just a fancy wrapper for entity_load.

That is node_load calls node_load_multiple which is a wrapper for entity_load. This means that performance wise there isn't really much of a difference, which function you use, unless you have to load a lot of nodes.

node_load has many advantages over entity_load


It's simpler
It increases code readability
it returns the node object instead of an array with the node object(s)


So in all, node_load is a convenience that you always should use whenever possible, then resort to node_load_multiple for cases where you need to load many more nodes.

entity_load should be used for loading entities when you don't know the type, or have it stored in a variable, in which case you can do

entity_load($type, ...);