I don't know what the intent behind "user-defined" was.
I see "partitioning" as
* What is discussed in chapter 19.
* "vertical partitioning" where you manually split a table into two tables - some columns in one table, some in the other. This is rarely needed in InnoDB.
* "Sharding", which may feel like "partitioning", but it is not. Think of it as partitioning across multiple servers. There is no built-in support for sharding in MySQL or MariaDB, but some 3rd party packages help.
So, the chapter 19 is really the only kind being discussed in the documentation.
My discussion of how to effectively use partitioning, and when it is not useful:
http://mysql.rjweb.org/doc.php/partitionmaint