Two questions:
1. Let's say I want to buy a new flight controller for a quad I already own. How do I figure out whether a controller is compatible with my drone?
Depends what quad you have. You can't just stick any flight controller in any quad.
a custom racing/freestyle type of build can work with many FC's. Alot of them are very similar by design and share the same open source software. This category has the most FC's available. And they are the most widely compatible and configurable and open. They are to be used with brushless motors which need ESC's (brushed motor FC's do exist also). All these FC's are compatible with all of the aftermarket transmitters - along with it's matching receiver, on the market.
A prebuilt off the shelf model (a toy or hobby grade) from a brand could have a more 'closed' proprietary setup, and not open to any customisation. Typically this might be an all-in-one type FC board with everything on it - the FC, receiver, esc's, pdb. And would only be compatible with a like-for-like swap. The model's transmitter (joysticks) would also likely be proprietary and not compatible with any other receiver.
But some models can use off the shelf branded parts,transmitters/receivers and repurpose them, meaning they are open to customisation. So it just depends on the model.
2. When I search for flight controllers what comes up are mostly motherboards. I'm looking for a complete unit, joysticks and all. Where can I find them?
Hobbyist transmitters (joysticks) are not sold as complete units with a FC board included because that would create a closed system and it would be unpractical. And the manufacturers wouldn't be able to provide the FC's with every feature that people want so makes no sense to combine them into a bundled unit. If anything, it would create more problems than it solves.
The flight controller board is the 'computer' for the quad. All the flight mathematics and calculations are done by the FC. And it is a seperate component from the physical controller (joysticks) which only provide input control signals. Those signals are nothing special and can be generated by any typical multi model RC transmitter.
The controller aka transmitter (joysticks) connects via radio to the receiver unit, which needs to be plugged (or soldered) into flight controller board.
The transmitter and receiver are typically the same brand. You can find transmitters which are bundled with a receiver.
You just need to connect the receiver to the flight controller.
And configure the input signals in the software that is flashed onto the FC board.
The most popular brands of transmitters (and receivers) are FrSky, Flysky, Turnigy, Spektrum, Futaba to name a few.