Thanks to your questions, the development team have rapidly identified, addressed and resolved this issue:
> What's the difference?
Those DB failures are used at the very beginning of the handling of `RoomAreaPlanDBFailures`. Besides `RoomsInSameRegionRooms`, there are also `RoomsInSameRegionAreas`, `RoomsInSameRegionSpaces` and `RoomsInSameRegionLoadAreas`. From the internal code, it seems that we first assign a default message `RoomsInSameRegion`, then replace that depending on the actual situation. There are similar FailureDefinitionIds like `RoomNotEnclosed` and `RoomTagNotInRoom`. They also have more specific versions for Rooms, Areas, Spaces.
> How can I discover such things for myself?
We logged an improvement ticket for the API documentation in REVIT-233118. Suggestions to the users for now: use a specific `FailureDefinitionId` if you know the exact type of the `SpatialElement` instead of the default one `RoomsInSameRegion`.
Thank you very much for bringing this to our attention!