It's very common (Fusion calls it User Parameters, etc.) and indeed nice practice. FreeCAD has a few ways to do it, Spreadsheets but also free-form properties on objects. It's very flexible in this regard.
Super flexible. I love being able to use Python to manipulate spreadsheet data.
The Fusion implementation sucks. A spreadsheet is a far more natural way to do this, Im surprised FreeCad is doing it better than the paid variant.