How to choose a better BMW diagnostic interface?

There are lots of diagnostic interface in the aftermarket. How to choose a proper one for your BMW? Here list some information of the five most useful and popular interfaces.

1 BMW INPA + 140+2.01+2.10 4 in 1 Diagnostic Interface

INPA is the easiest to run but there are a few things you need to consider when setting it up, there are different protocols for different era of cars. INPA is not only a diagnostic tool but also a scanner. It supports diagnosis all BMW vehicles and OBD2 diagnostic system as well as read & clear fault codes. It projects other functions like computer programming, component testing etc. It covers high-speed D-CAN & PT-CAN, low-speed K-CAN and standard BMW ports protocols. INPA diagnostic interface looks like below picture:
2 BMW INPA K+CAN interface diagnostic tool

BMWINPA K+CAN is an OBD2 to USB interface which is able to diagnose BMW vehicles from 1998 to 2008. It supports read& delete error codes, adaptation, driver programming, applu coding and other functions. It covers high-speed D-CAN & PT-CAN, low-speed K-CAN and standard BMW ports protocols. It is a cost-effective and high performance diagnostic tool for BMW makes. INPA K+CAN look below:
3 BMW Carsoft 6.5 diagnostic interface

Carsoft is a BMW MCU controlled interface which released to the latest version 6.5. It is able to do digital total test through which you will have a overall condition of the vehicle. It can also do digital single test which enable you to know detail information of specific control unit. It supports error storage and error elimination. Carsoft also supports other functions like service interval reset,component activation, LCM reading, sync EWS and ECU, adaptation values and coding. Here is the image of Carsoft 6.5 interface.
BMW Carsoft 65
4 BMW Scanner 2.0.1 for BMW

BMW scanner 2.0.1 is a scan tool which can diagnose BMW 1 3 5 6 7 Series vehicles. It can do odometer correction function for OBD2 diagnostic system as well. It has the capacity to connect with all electronic control modules (EWS and CAS) in the vehicle and accurately read& clear DTCs. Here is the picture:
BMW Scanner 2.0.1
5 BMW Scanner V2.20 K+DCAN

V2.20 K+DCAN is a USB enabled interface for diagnosis of BMW vehicles. It supports BMW models including 1 Series: E81/E82/E87/E88, 3 Series: E90/E91/E92/E93, 5 Series: E60/E61, 6 Series: E64, 7 Series: E65 and X Series: X3-E83,X5-E53, X5-E70, X5-E71 which new chassis (from 2001 to 2011). It share the same function with BMW Scanner 2.0.1. But K+DCAN is able to sync DME/DDE and CAS.
BMW Scanner V2.20