Nested loops in programming allow for loops to be placed inside other loops, enabling complex iteration structures. Java supports nesting for all loop types, with the nested 'for' loops being the most common. Clarity and efficiency in code can be compromised by excessive nesting, thus proper usage and indentation are crucial.