Deciding which API to use is largely based on where you'd like your code to be portable to and what experience various team members have. For example, if you're interested in being able to try out different Cortex-M RTOS vendors, CMSIS-RTOS is a natural choice. It will allow different operating systems to be brought in without changing the application-level code.
Similarly, if your application code needs to be capable of running both in a Linux environment on a fully featured CPU as well as on an MCU, the FreeRTOS POSIX implementation would make a lot of sense.
Since both of these APIs are layered on top of the native FreeRTOS API, you'll still be able to use any FreeRTOS-specific functionality that is required. The following sections should provide some points for consideration and help you decide when each API should be chosen. As usual...