i assume you're talking about index signatures specifically (Record can be used to create types without index signatures too)
IMO it's generally better to use a Map if you want a key/value store, but some libraries (especially older ones from before Map was a thing) use plain objects for this instead, so TypeScript needs a way to model them