Python nodes and tags have their own advantages.
If you have a lot of objects to read from and write to, but hardly any number crunching, a python node is quicker to set up - just click some wires as opposed to typing many doc.SearchObject(), ditto writing data etc in a tag.
One little glitch with python nodes, is that sometimes a node doesn't work because there's no output port connected. I've never managed to isolate the actual conditions when this happens, but I usually have a redundant output connected 'just in case'. In the 1st file, there was a remark 'leave this connected' - force of habit.
When editing python, a lot of people click compile and if it says 'no errors' think that's it. You should also check menu > script > console for error messages. In the dropbox file, if you try to select more tracks than are loaded you see this in console
the usual fix for that is 'if xyz : return'