In C, for example, "if (foo != true)" is not necessarily equivalent to "if (!foo)" -- but the latter very probably reflects the author's intent more accurately.
For example, an int with the value 42 is logically a "truthy" value, but the test "if (foo != true)" will succeed. Someone who would write "if (foo != true)" very likely didn't know that, and should have written "if (!foo)".
On the other hand, blindly fixing bugs like that has a good chance of changing the program's behavior, and possibly breaking it.
(All this assumes that the identifier "true" is visible. In C, this requires "#include <stdbool.h>" -- unless the programmer defined it explicitly.)
For example, an int with the value 42 is logically a "truthy" value, but the test "if (foo != true)" will succeed. Someone who would write "if (foo != true)" very likely didn't know that, and should have written "if (!foo)".
On the other hand, blindly fixing bugs like that has a good chance of changing the program's behavior, and possibly breaking it.
(All this assumes that the identifier "true" is visible. In C, this requires "#include <stdbool.h>" -- unless the programmer defined it explicitly.)