No, it doesn't. It produces 0.3000000000000000444089209850062616169452667236328125.
> 1.40 * 165: produces 230.99999999999997
No, it doesn't. It produces 230.999999999999971578290569595992565155029296875.
> round(2.675, 2) produces 2.67
No, it doesn't. It produces 2.6699999999999999289457264239899814128875732421875.
> This is because 2.675 is actually 2.6749999999999998
No, it isn't. For one, 2.675 obviously is not 2.6749999999999998, but it also isn't converted to 2.6749999999999998 to be stored as a floating point number, it is converted to 2.67499999999999982236431605997495353221893310546875.
> round(2.665, 2) which produces 2.67
No, it doesn't. It produces 2.6699999999999999289457264239899814128875732421875.
> However, in floating-point numbers, it is above the halfway point (0.00500000000000000097)
Well, it is above the halfway point, but it's actually 0.0050000000000000009714451465470119728706777095794677734375.
> I am not a theoretician and have not proven that this is actually correct.
So, all the numbers are wrong, you have no clue whether your wrong results generalize, but you use that as the basis for advice to other people? I only can hope that you don't write software for other people to use.