The script converts the .clf file into a rosbag file. The alternative would have been to publish laser_scan and tf, as you suggest, but then we would also have to handle publishing the /clock topic (since the data has timestamps from the past). By converting to a bag file, rosbag --clock handles this for us.