From help pages:
1.ArgMax is effectively equivalent to Last[Maximize]
Maximize will return exact results if given exact input.
If Maximize is given an expression containing approximate numbers, it automatically calls NMaximize.
Then:
y /. NMaximize[-99 + 17.0*Sqrt[37 - 35 y] + 66 y, y][[2]](*wrong answer*)
y /. NMaximize[-99 + 17.0*Sqrt[37 - 35 y] + 66 y, y, WorkingPrecision -> 20][[2]](*Correct answer,error messages*)
y /. NMaximize[-99 + 17.0`20*Sqrt[37 - 35 y] + 66 y, y,
WorkingPrecision -> 20][[2]](*Correct answer,No error messages*)
y /. NMaximize[-99 + SetPrecision[17, 20]*Sqrt[37 - 35 y] + 66 y, y,
WorkingPrecision -> 20][[2]](*Correct answer,No error messages*)
Summary:
ArgMax is exact symbolic solver. Will return exact results if given exact input.