How to work the boolean modifier

I appear to be having trouble to work this tool. Basically I am wanting to create a hole so I can connect these two fins to the body to the point where the subsurface smooths the corners but whenever I try to create a simple hole (by using the difference instruction), it appears to be doing a ‘Union’ with some parts. Any idea why this is?