Logic Controllers are useful when you want to do some complex operations. Here are some list of controllers available in the engine.
Controller is activated when every sensor is triggered that is connected to that controller.
Activated when one of the sensor is triggered that is connected to that controller. Yes, any one.
Activated when every sensor is not triggered that is connected to that controller. Can be used for hover button effect.
Same as above, activated when every sensor is de-activated.
Activated when the sensors has mixed input, deactives when every sensor that is connected to the controller is turned on/off.
Activated when the sensor has the same input whether it is on/off.
Can be used for stuff like Conditional Statements in python. Something like this: If the property coins has value equal to or greater than 5, rotate the cube. Here is the project file.
Also you can do stuff like toggling. Here is the project file.
Used for running code, you'll soon learn about this in the comming python lessons. I'll explain the basics: You can either run a full code or a certain part of the code called modules.
This is used the run the whole file. The performance can decrease as the module Range or bge is imported again and again in a loop manner. This slows your game performance down. Use it wisely.
Used to run a part of the file called modules. The field must be written like this: your_file.your_module. Your file must have the .py extension or it may return errors.
List taken from the API docs. And here is the project file for python controller.