Ruby has several mechanisms for iteration and flow control:
1. Blocks allow passing chunks of code into methods using curly braces or do/end. Methods can yield to blocks using the yield keyword.
2. Loops like while, until, and each iterators execute blocks of code repeatedly. Each iterators iterate over arrays and ranges.
3. Conditionals like if/else and case statements control program flow based on conditions. Unless is the negative of if.