https://developer.android.com/ndk/guides/sdk-versions explains what they all mean.
apilevels.com is also a great resource. You might be confused because some NDK focused docs say things like "build target", which is actually minSdkVersion and not targetSdkVersion (anything we've written recently should always use the manifest field names like that, because everything else is hopelessly confusing).
Your minSdkVersion is just that: your app will not work on anything older than that version. Pick the oldest version of Android you care to support (but check meta/platforms.json in the NDK, because the NDK has its own minimum, which is 19 as of r25 but will be 21 in r26).
apilevels.com and the New Project Wizard in Android Studio will both show you information about user distribution. Pick a balance between market share and maintenance burden (the older the device, the more bugs it has, usually). After your app gains users, Play will give you user metrics specific to your app that can help you tune that.
targetSdkVersion is effectively a bug compatibility flag (behavior changes are often gated on targetSdkVersion). Set it as high as you're able. Play enforces a minimum, and that minimum rises annually. A new app created today should use 33.
The others are not really relevant to NDK development.