1. Decision making statements like if-else statements and nested if statements allow programmers to execute different code based on certain conditions being true or false. 2. A nested if statement is when an if statement is placed inside the true block of an outer if statement, allowing for more complex conditional logic. 3. The main difference between if-else and nested if statements is that if-else provides two execution paths based on a single condition, while nested if allows evaluating multiple conditions in sequence to determine the correct execution path.