You should google each of those terms, there is a wealth of info online for each of those sensors. For example, for gps, type "robot gps."
Consider what environment your robot operates in. For example, each of those sensors will operate very differently (or not at all) depending on if your robot is in a house, out in a forest of trees, or underwater.
Consider if your sensors are scanning, or fixed with respect to the robot. For example, scanning sensor data for a fast moving robot will not be the same as a not moving robot.
Consider what you need to detect with your sensors and why. For example, sonar detects soft objects very differently than hard objects. The color of different objects will affect IR. Think about what data you can ignore, and what you must interpret.
Consider accuracy - high accuracy requires slowness for scanning and processing. Low accuracy means your robot can operate much faster, but there is error. You must decide how much error you are willing to accept. There will always be error.
Lastly is sensor cross-comparison. Each of your sensors will not tell you exactly the same thing. Which sensor should your robot trust the most? Your algorithm should add more weight to your more accurate sensors (or sensors that would be more accurate in a certain situation). For example, if your robot suddently finds itself inside a building full of pillows, your GPS will stop working entirely, your sonar will become somewhat inaccurate, but your laser rangefinder will still work perfectly. A forest of trees however would make a laser rangefinder almost useless.
In the end, your robot is trying to piece together a map using all of the sensor data. So that means the final interpretation of all data should be x/y/z coordinates for a map, and/or extra information to 'identify' the objects found in that map. And what will you do with the map? Navigate perhaps? That will decide on what kind of map you need, and what to do with it.
Hope this gets you thinking. Good luck!