Aviso de tocho!!
Mi aporte porque veo que algunas respuestas contienen imprecisiones. Es normal confundir términos coloquiales y técnicos.
Flat: Es un término británico que significa piso o apartamento es España.
Apartment: Lo que en España se llama piso. Una vivienda de normalmente una planta en un edificio de varios niveles.
Condo: Esto no es un tipo de edificio o de vivienda, sino un tipo de propiedad. Me explico. Condo es una abreviación de "condominium". Un "condominium" es una propiedad que se divide en varias partes y cada propietario es dueño de una parte. Puede ser un bloque viviendas (por ejemplo un bloque de apartamentos), una casa adosada (townhouse/rownhouse) o incluso una casa separada. Los dos primeros son normalmente los más comunes. La propiedad común de un condo es de todos. Esto puede ser una piscina, jardines, parking o una vía de acceso. Por ejemplo yo tengo una casa adosada en propiedad que es parte de un condominium. Hay un "condominium corporation" que es como decir la comunidad de vecinos. Es un sujeto legal. "Condo Board" está formado por los vecinos que voluntariamente se presentan para llevar el dia a dia y elegir qué hacer. Es como el presidente la comunidad en España. También hay un "condo management", el equivalente al administrador de fincas. El "condo board" tiene bastante poder, poner multas, decidir en qué se gasta el dinero etc. En un condo también hay "bylaws" que son las reglas del condominium. Por ejemplo no poner luces de navidad fuera de las fechas navideñas, no poner una caseta en tu jardín privado, no poner absolutamente nada en la fachada, no colgar ropa fuera o que las cortinas sean de color blanco (verídico). Al mes se paga "condo fees" que suelen ser bastante elevadas. Yo pago $300 al mes, pero como tengas piscina o gimnasio puedes pagar $600 o más. Lo que pagas en "fees" depende de tu propiedad. Si tu vivienda tiene 3 habitaciones pagas mas que alguien de 2 por que la tuya ocupa más espacio del condominium.
Una parte del dinero va a un fondo de reserva para reparaciones, fachada, ventanas, etc. Por ejemplo en mi condo la corporación paga las ventanas y las puertas de la calle para que sean todas iguales. Eso de cerrar la terraza con se hace en España y una fachada termina como un árbol de navidad es absolutamente impensable en Canadá/EEUU.
HOA: (en referencia al forero de arriba). HOA significa homeowners association. Es diferente a un condo. Es una asociación de propietarios a la cual tu vivienda puede pertenecer. Son muy comunes en EEUU y se usan normalmente para viviendas que no son condos como por ejemplo casas separadas, aunque también se usa para townhouses (adosadas). La HOA tambien tiene sus reglas como un condo, un "board" y pagas "fees" al mes. También tiene "bylaws" (algunas bastante ridículas). Por ejemplo: que la hierba de tu jardín sea verde y de no más de 15 cm de alto, que no puedas aparcar un vehículo comercial delante de tu casa, que tengas el exterior cuidado, que no hagas ruido, etc. Normalmente tienen zonas comunes como un lago, una piscina, etc. Las calles y las aceras son públicas. En la escritura de tu casa hay una referencia a la asociación, como no pagues te largan. El porqué de estas asociaciones es proteger el valor de las viviendas, dando poder a una asociación para elegir que se puede hacer y que no. Imaginate que una panda de personas de color se compra una casa y empiezan a hacer fiestas en su jardín, a alquilar los cuartos a varias familias, etc. La HOA protege el valor de las casas del vecindario para que no se forme un getto. Por eso en EEUU hay esos mapas de segregación racial.
Community association: (fuera del tema pero es relacionado con el punto anterior). Es como un HOA "light". Es voluntaria, para todos los residentes (propietarios o no). Sirve para conectar con la comunidad y hacer cosas en común. Pueden tener zonas comunes como pistas de tenis, una sala de usos múltiples (yoga, karate, fiestas, etc.) Normalmente se comunican con el concejal designado a esa zona para presionar por mejores inversiones, hacen eventos voluntarios como plantar arboles, etc.