This is one of those questions where preferences vary between mappers. There are some situations (more than one shop in a building, building and shop have different values for the same key such as name, …) where one of the options simply doesn’t work, but apart from these, you’ll find plenty examples of both approaches. So it’s a good idea to be tolerant of stylistic differences when working together with other mappers.
To make things worse(?), there’s even a third option: Mapping the shop as a second polygon, usually using the same nodes as the building. This combines some benefits of the first two options: It properly expresses the size and shape of the shop, but still keeps the tags of the shop and the building cleanly separated. It’s also the most work, though, and is therefore comparatively rare.
I’ve written a longer answer about this topic in the help Q&A forum, too.