This was mentioned in passing in a python book I read and I ignored it until I saw it being used to discover the internals of frozen/obfuscated python code.
It is a great term, basically you can overload defined functions with your own code, this is particularly useful for code testing. For example I have seen someone discuss testing an emailing function and rather than send out lots of emails they monkey patch parts of smtplib to add the messages to a dictionary.
A simple example
class orig:
def method1(self):
print "Original method1()"
def method2(self):
print "Original method2()"
if __name__ == "__main__":
obj = orig()
def monkeypatch():
print "Monkey code!"
print "method1()"
obj.method1()
obj.method1 = monkeypatch
print "method1()"
obj.method1()
print "method2()"
obj.method2()