Why annotate at all?
JavaScript is dynamically typed: a variable's type can change at runtime. TypeScript's annotations let the compiler find mistakes before the code runs:
const price: number = 10;
const total = price + "USD"; // type error: string + number
Without the annotation, JavaScript would happily produce the string "10USD": a silent bug the compiler flags as a type error.
The any escape hatch
any disables all checking for a variable. It's tempting but throws away every safety benefit:
let data: any = "hello";
data = 42; // allowed with any - dangerous
data.doSomething(); // allowed with any - likely a bug
Reserve any for truly unknown data (old JS libraries, JSON.parse output) and narrow it to a real type as soon as possible with a type guard or cast.