What is an "API-formatted packet"?
API mode frames the data in a specific format. Each frame has bytes specifically assigned as the header/data/checksum/etc. In order to use this mode you will need to parse these frames. 

From a feature point of view, API mode generally allows you to do more with the module. You can access networking capabilities and IO that may not be available in transparent mode. This is similar to some GPS receivers that have a standard NMEA output, and an additional manufacturer-specific (API) output.

This product manual explains it further (pages 12 and 56-62 specifically).

I would probably stick with the AT commands unless your application requires you to use the API, since you will have to write more code to handle the API mode and it isn't as portable.