Target Version - highest API version used in the app. Example, if the app uses API from OS version 10.0.10100 and it's known that there is breaking change in this API in Windows 10.0.10250, then this package won't be available on Windows 10.0.10250 and higher until the developer publishes new package for the new API version.

Min Version - min API version required. The package won't be available on Windows with lower OS version than the MinVersion.

Windows Device Family Extension SDKs - used for accessing platform specific features like phone SIM card features, the vibrator, etc.

Since there is usually only single project and single assembly, it's not possible to use conditional compilation using #if. Solution: Windows.Foundation.Metadata.ApiInformation, reflection-like API for checking if specific type/method/property is available on current device

How to migrate from Windows/Phone 8.1 to Universal Apps? Typically by creating single new UWP project, using adaptive code for platform specific stuff and platform specific views for different form factors. It's still possible to have one project for tablet and one for phone (or for Xbox, IoT...) and share code using linked files, or using Portable Class Libraries, or using Shared Code project, it's up to developer and the target app.