"Haunts are incorporeal, right? Why do they trip traps then?"
The primary reason is for game balance. In Darke Dungeon, phasing is only a movement status. It allows you to move at a reduced rate through solid objects and prevents suffocation while you are inside solids.
I honestly gave this a lot of thought when I implemented the "phased" status effect that represents the ability of haunts and other creatures to pass through solids. Originally, I had planned to make only phased projectiles able to strike phased critters. This made phasing entirely too powerful.
The "in character" reason is that phased creatures still have a body. They are not technically "incorporeal", which means they have no material body at all. To solids that are not within their phasing effect, the critter will feel something like the consistency of Jello. You can feel them and interact with them, but if you push hard enough you pass right through. There is a definite resistance between phased objects and non-phased objects, which makes traps react to them. Weapons damage phased beings by disrupting them more rapidly than the phasing magic can compensate.
Haunts also have the floating effect, which gives them immunity to a number of basic traps like pits.