Rosbag is an incredible tool for debugging your robot algorithms. Rosbag lets you store all of (or some subset) of the ROS messages to disk. These messages can then be played back so that you can examine how a particular ROS node behaves. You can even modify the node and observe how it *would have* behaved if it were running on the data that you collected with Rosbag. The first step is to create a .bag file that will contain all of the ros messages.
$ rosbag record /scan /camera/image_raw/compressed /odom /tf /tf_static /cmd_vel
Now that the recording is going, you should fire up the Neato node. Depending on what you are trying to debug you may at this point want to drive the Neato around using the keyboard teleop. Once you feel like you have enough data to debug your algorithm, stop the rosbag recording by clicking on the terminal window where you ran rosbag and typing ctrl-c.
Before playback I recommend restarting roscore so that you clear out any old coordinate frame transformations that might interfere with the playback. Once you have done that, execute these three commands to start the playback (the use_sim_time is necessary to make the clock your node uses match up with what is stored in the bag file).
$ rosparam set use_sim_time true
$ roslaunch neato_node set_urdf.launch
$ rosbag play --clock your-bag-file-name-here
If you want to access the image messages in a Python node, you will also have to jump through one more hoop. Since Python doesn't support decompressing image topics, you will have to use an additional node to republish from the compressed images to uncompressed:
$ rosrun image_transport republish in:=/camera/image_raw compressed out:=/camera/image_raw raw
Next, fire up whatever ROS node you are trying to debug so that you can observe its behavior (or modified behavior!) on the messages that you collected in the .bag file.