Attention: Answers.ros.org is deprecated as of August the 11th, 2023. Please visit robotics.stackexchange.com to ask a new question. This site will remain online in read-only mode during the transition and into the foreseeable future. Selected questions and answers have been migrated, and redirects have been put in place to direct users to the corresponding questions on Robotics Stack Exchange. Additional details are available here.
The base_footprint is the projection of the base_link onto the ground plane and is co-planar with map and odom frames. The role of this frame is to bring the base_link to the same plane as map and odom when base_link is not co-planar with map and odom. If base_footprint frame does not exist and base_link is not co-planar with map and odom, when you visualize your world with rviz it seems that your robot is "sinking" in the ground.