What they do is ... create a vacuum, basically.
I think that it's basically a Venturi tube (I'm pretty sure, but I may be wrong), with a hose on the end.
As water flows through a constricted area, the higher velocity will cause a drop in pressure. If this pressure is below atmospheric, and you tap into this area, you've got a partial vacuum. You may have seen the exact same action in a school's chemistry lab, where you attach a 'T' shaped hose to a faucet, let water run through it, and you get a vacuum on the 'T' tap.
A diagram of the Python No-Spill system's parts are shown
here. The key part to it is labelled 13B. The thing at the bottom of that part swivels -- when it's in the 'down' position, water flows straight through, and a vacuum is created in the hose. When it's in the 'up' position, water flow is blocked through the bottom, and the water flows through the hose (letting you fill your tank).
For info, in that diagram, part 13C is a stopcock, which allows you to stop the vacuum/water flow near the tank, which can be very handy.
In my opinion, the biggest 'pro' to a Python is ease of use, and lack of mess. After getting used to it, you can change water with very little, or no, drips.
Three 'cons' I can think of are ...
1) You can't pre-condition the water before putting it in the tank. Most Python users (myself included) haven't seen this as the cause of any problems; I just add the dechlor product to the tank right before filling.
2) Using it as a siphon can waste a lot of water.
3) It costs money. The Python No-Spill systems cost around $25 for the 25' model, and roughly $40 for the 50' model. Prices will vary depending on your market, of course, and as usual, buying online tends to be significantly less expensive.
Hope that helps.