Question: I've been seeing some examples of Python being used with c++, and I'm trying to understand why would someone want to do it. What are the benefits of calling C++ code from an external language such as Python?

I'd appreciate a simple example - Boost::Python will do

Answer: 
Here's a real-life example: I've written a DLL in C to interface with some custom hardware for work. Then for the very first stage of testing, I was writing short programs in C to verify that the different commands were working properly. The process of write, compile, run took probably 3-5 times as long as when I finally wrote a Python interface to the DLL using `ctypes`.

Now, I can write testing scripts much more rapidly with much less regards to proper variable initialization and memory management that I would have to worry about in C. In fact, I've even been able to use unit testing libraries in Python to create much more robust tests than before. Would that have been possible in C? Absolutely, but it would have taken me much longer, and it would have been many more lines of code. 

Fewer lines of code in Python means (in general) that there are fewer things with my main logic that can go wrong.

Moreover, since the hardware communication is almost completely IO bound, there's no *need* to write any supporting code in C. I may as well program in whatever is fastest to develop.

So there you go, real-life example.
1. Performance :

From my limited experience, Python is about 10 times slower than using C.
Using Psyco will dramatically improve it, but still about 5 times slower than C.
BUT, calling c module from python is only a little faster than Psyco.

2. When you have some libraries in C.  

For example, I am working heavily on SIP. It's a very complicated protocol stacks and there is no complete Python implementation. So my only choice is calling SIP libraries written in C.

There are also this kind of cases, like video/audio decoding.