Mapping addresses as separate nodes or by adding to building polygons
In many cases addr:housenumber=* and the other addr:* keys can be added to either:
In general both methods are fine, mapping addresses using either is a significant improvement. If there is a local consensus to prefer either - follow it. Switching to one from another is of little benefit, better to map even a single address.
Note that in some cases other mapping methods may be used or needed, especially with addresses assigned to entrance or gate. See Addresses#How to map addresses for broader overview.
Isolated nodes inside building=* polygons allow easy handling of case where single building has assigned multiple housenumbers (for example building on a corner, like this one)
Tagging building=* polygons makes easier to avoid detaching address data from buildings, for example when buildings are dragged to fix offsets
Tagging building=* polygons makes a bit easier to associate buildings with addresses as it makes processing of data less necessary.