They are your common car, which take a combustible fuel - usually petrol based, and ignite it inside a cylinder, which causes a rapid expansion. The expansion pushes a piston in the cylinder out, which turns a cam. By havinf a number of these on a row of cams, or a flywheel - you can get full rotations out of these.
They are able to give a large amount of power/torque, and fairly rapidly, but tend to be heavy, dirty and polluting. There is no such thing as a clean petrol engine - they all exhaust very unpleasant fumes, and should never be used in a confined space without very good ventilation.
They are sometimes used in model aircraft engines, but many of these use more efficient and clean fuels than petrol.
They are fairly awkward to control from a digital controller, and with very few exceptions, you are better off using DC electric motors - obviously scaling up to suit your application.
They may be used for electricity generation, in applications where there is not the time to change or recharge an electric battery. The idea being that you just fill it up with petrol. This is a very noisy, and smelly way to get electricity, and will only be suitable for the largest, and heaviest of robots - for example robotically controlled dockland cranes.
Fuel cells are now making inroads, and companies are already producing mobile phone chargers and UPS devices with very serious mAh ratings. Fuel cells are not only lighter, but they have few moving parts, run very cleanly, and can be topped up/filled in much the same way as an ICE.
Time to build your own robot! Using a Raspberry Pi with parts and some time, you can use my book to learn how to make and program a robot with automatic behaviours.