Other disadvantages: Maintenance cost.  No forward compatibility across Python versions (as the C-level API changes). Cython inserts cpp macros to deal with multiple version of Python.

I would add a note stressing that this approach is not advised, but put here mainly for didactic reasons. I really think that for 99% of the cases using the raw Python API is a bad idea.