FL(Flight Level) vs Altitude in my radio book i came across this communications.

Control: "Pacific 800 report passing FL 150"

Aircraft: "Pacific 800 Wilco"...
           "Pacific 800 passing FL150".

next.

Control: "Fiji 58 maintain 2500 feet"
Aircraft: "Maintaining 2500 feet Fiji 58"

What is the formal explanation for FL and altitude, cause i am confused both are the same thing.
This depends on where you are in the world but under the FAA here in the US the FAA defines it as 


  Flight level means a level of constant atmospheric pressure related to
  a reference datum of 29.92 inches of mercury. Each is stated in three
  digits that represent hundreds of feet. For example, flight level 250
  represents a barometric altimeter indication of 25,000 feet; flight
  level 255, an indication of 25,500 feet.


In other words its the altitude if you set your altimeter to 29.92. In the US all aircraft in class A airspace (18,000 and up generally) set their altimeter to 29.92 thus flight levels are used at that altitude. When an aircraft is below Fl 180 the local altimeter setting is used.