I get asked this question several times, every time I'm doing a client's makeup and I always have the same answer. Many beauty blogs confuse their readers and make it seem more complicated than what it actually is. Makeup for me doesn't have a specific order or form. You should apply it the way it is comfortable for you and your skin!
When you are starting your makeup, you have to first observe and check if you have any skin imperfections, and how much coverage you want overall. These days, since it's all about flawless and radiant skin, I recommend you should stick to medium layers of foundation and not go too cakey as that is not the trend anymore.
If you do have acne or acne scars, or any other kind of pigmentation, then you should start by covering them first with a medium to full coverage concealer like MAC's Studio Finish concealer (pictured above). At the same time, you could also cover any under eye dark circles, or puffiness while covering your spots/acne. Don't over blend the concealers as they start rubbing off and it won't solve your purpose. Use a smaller precision brush to cover only the pimple or imperfection area and feel free to build as much concealer as you wish. Bigger brushes are not for precision.
Once you've concealed all your problem areas, apply your layer of foundation on top and blend away. If you use a foundation like MAC's Studio FX Fluid (which is great for full coverage), then be quick in blending the foundation as it dries up quickly. Thats why concealing makes more sense to do first when you have skin issues.
However, if you start applying your foundation first and then conceal your spots or dark circles, that isn't wrong. Some people like to start their makeup by looking clean and even with their foundation tone, and then concealing their dark circles. If you prefer that, I suggest you first apply your foundation, then some concealer, and then apply a fine layer of foundation, with a beauty blender, over your concealer to blend the tones together so that it all looks even in the end.