Gamelogics can also be used for any number of applications, it's really up to the designer to figure something out
For instance, they can be put inside vehicles (gamelogic1 moveincargo car1) to fill up cargo spaces - say you want everyone in the squad to sit in the back of the truck instead of in the front, you simply fill up the front spots with game logics and they're inaccessible!
Or you can use them to create directional sounds, for instance an owl hooting in a nearby tree - simply have them "say" the sound and it will issue forth from their position.
Finally, you can also use them for various forms of in-editor scripting - their waypoints are different than regular ones, being a progression of "AND"s and "OR"s. Frankly I'm not entirely sure how the AND and OR thing works, but I -think- that if you synchronize more than one waypoint or a trigger with the AND waypoint, it means all three conditions have to be fulfilled (the AND waypoint's and the synchronzied WPs/triggers) for the waypoints/triggers/etc to activate, whereas if you synchronize it with an "OR" waypoint it means just ONE of the conditions need to be true. But don't quote me on that.
I sometimes use the the Game Logic waypoints as a way to create longer conversations - I add a string of AND waypoints with different "Timeout" values, and then I add the conversation in the On Activation field (creating a back and forth). But they could equally well be used to monitor just about any other thing that would normally require a lot of triggers (say you have to finish three objectives in a certain order, you could just have a single GL and three waypoints with different Condition statements leading up to the completed mission, instead of several triggers).
GLs are a versatile and powerful tool for the editor, and one I suggest you use your own imagination to make work.
I've for instance created unmanned turrets capable of engaging enemies using gamelogics in the past, which was a bit of a hoot.
Oh, and as Krieg noted: GLs are also often used to initiate scripts and the like (such as the "Modules" or NIM weather). This is basically just a matter of it being convenient to use GLs for this - there's nothing stopping anyone from using ANY object as a way of initializing a script, GLs are just useful since they're indestructible, invisible, and take up no resources.
Hope that helped!