Why aren't signals simply called events?
Actually, "signals" have been around longer than events have. In the earliest usage, a signal was an asynchronous way for processes to get notified that events had occurred. Since Unix is much older than Django (and since a lot of the Django work came from pydispatcher, where the original stuff was done), the name has stuck.
Events are really signals, you might say!
From what I can tell, in Python and and Django, signals are simply delegated events.  Is there anything that functionally differentiates them from the typical notion of events in C#, Java, ActionScript, etc?