These two languages have only slightly overlapping application. Both are very cool trickses, in my opinion.
Python is the clear choice (among these two) for a general purpose language.
Lua is a fast and very lightweight embedded language, but also runs standalone. Python is also embeddable, but is rather full featured, and uses a good deal more resources, although if you cut out the bits of the standard library you don't use, it isn't too bad.
Lua's standard library is very spare. Python's is renowned for its completeness. Lua's OO support looks a little funny. Lua will fit (and leave a lot of room!) on a floppy. I think some enterprising hackers have shoehorned Python into floppies, but it takes a lot of work with a crowbar and doesn't include much functionality.
I am pleased to discover that Lua has bindings for most of the popular cross-platform GUI toolkits.
I'd say use Lua for embedded scripting unless you have a convincing need for the Power of Python (tm).
Lua also beats the pants off of Forth, and yes there is an (actively maintained!!) implementation for HP calculators. Drool.
Check out the Wikipedia entries, and their main websites.
Lua is on the Very Short List of languages I am going to learn Real Soon Now.
