Let's consider a human driving a car.

simulate this circuit – Schematic created using CircuitLab
Figure 1. The car's human control system.
- You have decided to drive at 80 kph.
- Your actual speed is 60 kph.
- Your eyes look at the speedo and subconsciously your brain calculates that you are below target speed by 20 kph.
- Your brain signals to your right foot that further pressure should be applied to the accelerator pedal.
- The engine responds and speed is increased.
- The loop continues to operate, the error reduces and your brain continues to adjust the engine power until the desired speed is achieved.
Note that there is some fancy control calculation going on. Some will be based on experience but you will automatically take into consideration the car's weight to power ratio, the gear you're in, the incline you're on, passenger comfort or load safety, etc.
In a control system (such as cruise control in this case) we have to tune it to obtain the required response. This may be to get to the set point as quickly as possible or at a certain predetermined rate or with minimum overshoot.
To address your questions:
In control system,the error is the difference between input and output.
Correct.
But why are we expecting to get the output same as the input.
We're not. In my example the input is 80 kph but the output is throttle position which might be 34%.
To get the exact input as output there is no necessary for the system since we have the output available i.e input.
No. In the example the throttle isn't calibrated in kph but, if you like, it's calibrated in engine output power. We adjust the power to control the speed. Note also that the car's speed is not proportional to power because, for example, aerodynamic drag increases with the square of the speed.
See if my answer to Understanding the flow of a PI Controller? is of any help.