I did this for my Honours Project - looking at why a script-based engine is a good idea, and specifically at Lua and Python
From my research, it depends greatly on what you're doing as to which language to go for, along with how you want to implement scripts within your engine. Lua handles quick configuration stuff very well, and can be bound to an engine very quickly. Python has incredible data structure support and can mangle lists with the best of them, along with having a huge library of extension modules available to you and a massive army of community supporters.
However, although Python is very powerful, it can also be very bloated, depending on what you want to do. Don't get me wrong, I really like Python, but for what I was aiming for, it was really unusable for the engine I created as the only "help" I was ever given was to write the game in Python, and extend Python with bits of my engine re-written into extension modules for it to call as libraries.
Lua, on the other hand, is just a dozen or so C files. You can fully integrate Lua into your engine ( as I have done ) or do the same as what I was recommended with Python - write the bulk of the game in Lua, and extend Lua with Modules.
Basically the two philosophies are Binding and Extending... Lua is much easier to Bind than Python - if you want to embed Lua within your Engine... otherwise they're both pretty even due to they can both have their interpreters as external DLL files. As I didn't go down the Extend route, I can't tell you which is easier for that. However, with Binding you've got a lot of overhead to consider. As DarkAngel pointed out, there are helper libraries such as LuaBind which'll get you on your feet quickly. Others I've seen and would recommend are SWIK ( which also has Python support ) and ToLua++ ( for C++ support ). Again, however, for my purposes, none of these were what I was after, so I went and bound Lua manually using the Proxy Method.
I'd also highly recommend that you choose a scripting language before implementing the majority of your engine, as contrary to popular belief, dropping in a scripting language near the end of an engine's production can be a total nightmare... working it in throughout engine development is FAR easier, and also means that your script language's power increases, as the engine's power increases.. so you can see the results of your labour immediately
which is always good!
If you can give me till the weekend, I'll be starting to post up some Wiki stuff from how I utilised Horde in our game, along with how we scripted it in Lua, what we did to the converter, and a general post-mortem of how things went... I've just been lazy recently and taking a break for a bit after a ten week marathon code session!