CORE BOUNDARIES
The important limitations are ownership boundaries.
Tree-oriented kinematics
URDF is naturally built around parent/child links and joints; closed mechanisms need target-specific handling or extensions.
Robot model, not a whole world
URDF centers on one robot description rather than lights, actors, nested worlds and complete simulation context.
No native macro language
Configurable robots commonly use Xacro as a preprocessing layer.
Simulator semantics are external
Gazebo properties are commonly carried through extension tags and converted into SDFormat semantics.
Hardware control is an extension layer
ros2_control adds hardware plugins plus state and command interfaces to URDF-oriented workflows.
No semantic embodiment graph
Capabilities, claim provenance, lifecycle, governance and model authority are outside normal URDF responsibility.
CLOSED CHAINS
Physical mechanisms can exceed the simple URDF tree.
Current ros2_control documentation describes URDF as the default ROS kinematic description and notes the serial-chain limitation apart from mimic-style relationships. Simulation integrations can add workarounds, but those behaviors belong to the consuming stack rather than one universally portable URDF interpretation.
EXTENSIONS
A file ending in .urdf can contain semantics another parser will ignore.
Gazebo extension tags, transmissions and ros2_control blocks are useful, but they create an interoperability question: does the next consumer understand, transform, ignore or reject them? A loss-aware pipeline should report that explicitly.