Is it some kind of argument that is passed to gazebo_ros, each time gazebo_ros is called from my_pkg ?
Almost, but no (at least not directly).
From REP-140: Package Manifest Format Two Specification - Data Representation - export:
This tag serves as a container for additional information various packages and subsystems need to embed. To avoid potential collisions, an export tag should have the same name as the package which is meant to process it. The content of that tag is up to the package to define and use.
It basically allows packages to provide extra or required information to packages they "extend" (and here I use that term to mean: for which they provide additional functionality, artefacts, anything, beyond the restricted OOP definition). In this case, Gazebo will know how to use the information you put in the gazebo_ros
child element (but it has to go and fetch that information itself (via rospkg
fi), that is why I wrote "not directly").
You can see the gazebo_ros_paths_plugin
plugin doing that here.