The purpose of the QoS Max Value field is to allow the user to set a Maximum Value for whatever metric they are monitoring so that they can check easily to see if this value has been exceeded when running QoS reports or creating QoS-based dashboards.
There are two ways to define a Maximum Value. The first is by simply manually inputting a value yourself for comparison, and the second is by reading another value from the system data and using that value as the point of comparison.
A good example of the first method is for monitoring something that is defined as a percentage - for example, disk usage or CPU usage. Suppose you wanted to make sure that CPU usage on a particular server never goes over 80%. You'd set your profile to monitor the CPU Usage%, and then under QoS Max Value you would select "Max Value (User Defined)". Set the value to 80; now, when running QoS reports or creating dashboards you'll be able to pull that Max Value and easily determine whether you've gone over your desired maximum of 80% usage.
The second method is to select the "Max Value" option and use the dropdown box - what this is intended to do is allow you to choose one of the OTHER data points available to use as your "Maximum Value" - so that the current sampled value of whatever you are monitoring can be compared to this other value instead of a fixed maximum value.
This is probably best illustrated with an example. Suppose you want to (for whatever reason) make sure that your average disk read queue length does not exceed your average disk write queue length.
You would configure your profile to measure the average disk read queue length, and then set QoS Max Value dropdown to "Average Disk Write Queue Length." Then, when the value for the Read Queue Length is sampled, the value for the Average Write Queue length will also be determined and this value would be used as the "Max Value" for the purpose of QoS reports and dashboards.