I absolutely agree with your second example, but I think you're missing my point for nested loops. Perhaps this would be a better example:
Let's say I'm making a simple tile-based game that uses a two-dimensional array called "grid" to store the map. To draw that map to the screen, I might do something like the following:
for(int x = 0; x < grid.length; x++) {
for(int y = 0; y < grid[0].length; y++) {
drawTile(grid[x][y], x * tileWidth, y * tileHeight);
}
}
There are other ways to refashion this as a single loop, (storing everything in a 1d array and handling the dimensioning ourselves, using an iterator and giving tiles a position attribute containing their (x,y) coordinates, etc) but is any of that really more straightforward?
Again, I am not arguing for indentation anarchy, merely that there are times when it can help to bend the rules.
edit:
I imagine you'd prefer something like this?
for(int t = 0; t < grid.length * grid[0].length; t++) {
int x = t % grid.length;
int y = t / grid.length;
drawTile(grid[x][y], x * tileWidth, y * tileHeight);
}