Hi,
Extensions are how many telephones/handsets (virtual or real) that you have. This represents how many different locations/places/stations can access the PBX.
Concurrent *internal* calls (extension to extension) are limited mostly by the processing power available to the server to handle the codec translations and the general UDP traffic required to process the calls.
Concurrent *external* calls equal the number of phone lines (virtual or POTS or SIP ports, or whatever) that you have available. So - if you have an incoming call from beyond your PBX - that's line one. If you want to place that person on hold and call someone on a local extension - still one line. If you want to call someone beyond your local PBX, then that would require a second line. If you have someone (external call) on hold, are placing an external call, and you want to have callers able to call into your PBX at the same time - then you need a 3rd line, and so forth.
Hope this helps!
Good luck,
Gordon