When I speak about my girlfriend with colleagues or my familly, I obviously can't say “ma femme” because we're not married. However “ma copine” feels odd since we're both adult. What would be an appropriate word for that?
Compagne is the most commonly used, it implies you are in a long standing relationship and that you live together as a couple under the same roof.
If you do not live as a couple under the same roof you can say mon amie, as long as the context is sufficient to make clear what kind of amie she is.
The use of copine is not restricted to children and young people. You can very well have a person in an old people's home speaking of their copain or copine. It's more a question of state or mind than of generation. Using copain/copine does not necessarily imply living as a couple under the same roof.
Those who do not want to use copine can use petite amie (sounds a bit old fashioned to me). Fifty or more years ago people would use the phrase bonne amie, but it is hardly ever used nowadays, people understand though.
Au Canada on parle de conjoint (qui a un sens un peu plus large, incluant les gens mariés). Si on veux exclure précisément les gens mariés, on parle d'une blonde et d'un chum.
Enfin, s'il s'agit seulement d'une personne avec qui on partage un appartement sans relation romantique, c'est un ou une colocataire.
Well femme/homme is used, even when not married (mari is never used in absence of marriage, femme is not unheard in absence of marriage, but rare in this context, homme is relatively rare to designate a romantic partner, but has no implication of marriage). Ami/amie, copain/copine, compagnon/compagne are also used with small nuances (femme/homme and compagnon/compagne mostly implies that you live together for instance).
For words like ami/amie, copain/copine which leaves some ambiguity (compagnon/compagne doesn't), what seems to be important is the use of the possessive. If you introduce your girlfriend with mon amie, ma copine the nature of the relationship will be clear. If you introduce a girl friend with une amie, une copine the nature of the relationship will also be clear.
Au Québec conjoint(e) peut ou non inclure un statut marital légal. C'est une terminologie maintenant dominante traduisant le fait que les couples ne sont plus majoritairement légalement et encore moins religieusement mariés. Il signifie strictement la personne avec qui on partage sa vie. S'applique à toutes les orientations sexuelles. Chum ou blonde est beaucoup plus familier.