That sort of thing has an obvious problem. Take a fairly simple class:

class Shape
{
public:
void SetAbsolutePosition(uint x, uint y, LengthUnit units = LengthUnit::PIXELS);
void SetRelativePosition(int x, int y, LengthUnit units = LengthUnit::PIXELS);
void SetXAbsolutePosition(uint x, LengthUnit units = LengthUnit::PIXELS);
void SetYAbsolutePosition(uint y, LengthUnit units = LengthUnit::PIXELS);
void SetXRelativePosition(int x, LengthUnit units = LengthUnit::PIXELS);
void SetYRelativePosition(int y, LengthUnit units = LengthUnit::PIXELS);
void SetSize(uint height, uint width, LengthUnit units = LengthUnit::PIXELS);
void SetHeight(uint height, LengthUnit units = LengthUnit::PIXELS);
void SetWidth(uint width, LengthUnit units = LengthUnit::PIXELS);
void SetColor(Color color);
};

What the methods do is bleeding obvious and the whole thing fits on a single screen where you can look at it. Now let's put all those comments in, what are they going to look like typically when inserting them is mandatory?

class Shape
{
public:
/**
* SetAbsolutePosition sets the Shape absolute position
*
* @param x The absolute X coordinate
* @param y The absolute Y coordinate
* @param units The units of the coordinates
* @returns Void
*/
void SetAbsolutePosition(uint x, uint y, LengthUnit units = LengthUnit::PIXELS);
/**
* SetRelativePosition sets the Shape relative position
*
* @param x The relative X coordinate
* @param y The relative Y coordinate
* @param units The units of the coordinates
* @returns Void
*/
void SetRelativePosition(int x, int y, LengthUnit units = LengthUnit::PIXELS);
/**
* SetAbsoluteXPosition sets the Shape absolute X position
*
* @param x The X coordinate
* @param units The units of the coordinate
* @returns Void
*/
void SetXAbsolutePosition(uint x, LengthUnit units = LengthUnit::PIXELS);
/**
* SetAbsoluteYPosition sets the Shape absolute Y position
*
* @param y The Y coordinate
* @param units The units of the coordinate
* @returns Void
*/
void SetYAbsolutePosition(uint y, LengthUnit units = LengthUnit::PIXELS);
/**
* SetXRelativePosition sets the Shape relative X position
*
* @param x The relative X coordinate
* @param units The units of the coordinate
* @returns Void
*/
void SetXRelativePosition(int x, LengthUnit units = LengthUnit::PIXELS);
/**
* SetYRelativePosition sets the Shape relative Y position
*
* @param x The relative Y coordinate
* @param units The units of the coordinate
* @returns Void
*/
void SetYRelativePosition(int y, LengthUnit units = LengthUnit::PIXELS);
/**
* SetSize sets the width and height of the Shape
*
* @param height The length of the height
* @param width The length of the width
* @param units The units of the lengths
* @returns Void
*/
void SetSize(uint height, uint width, LengthUnit units = LengthUnit::PIXELS);
/**
* SetHeight sets the height of the Shape
*
* @param height The length of the height
* @param units The units of the length
* @returns Void
*/
void SetHeight(uint height, LengthUnit units = LengthUnit::PIXELS);
/**
* SetWidth sets the width of the Shape
*
* @param width The length of the width
* @param units The units of the length
* @returns Void
*/
void SetWidth(uint width, LengthUnit units = LengthUnit::PIXELS);
/**
* SetColor sets the color of the Shape
*
* @param color The color to be set
* @returns Void
*/
void SetColor(Color color);
};

So now the class is eight times as long and you have to scroll eight times as much to find anything, in exchange for which you get a bunch of comments that tell you things you already know. Meanwhile writing those comments involved a lot of copy and paste and then changing one or two variable names and descriptions, which violates DRY and is the recipe for erroneous comments.

The better alternative is to comment only those things where the comment provides useful information, so that when you see a comment it strikes you as something you should pay attention to rather than some boilerplate to be ignored because 85% of them are mandatory but useless.