For programming languages that make use of {}, the reason is (almost always) scope.
Take for instance this:
for i in 0..10 do_thing(); do_other_thing();compared to this:
for i in 0..10 { do_thing(); } do_other_thing();In the second one itโs clear you should loop do_thing() and then run do_other_thing() afterwards. The indentation is only for readability in the above though. Languages that use indentation for scope look more similar to
for i in 0..10: do_thing() do_other_thing()