Bubble sort's worst-case complexity is O(n²) because: 1) Requires nested iterations through the array, 2) Outer loop runs n times, 3) Inner loop runs n-1 times for each outer loop iteration, 4) Results in approximately n * (n-1) comparisons, 5) Quadratic time complexity makes it inefficient for large datasets, 6) Worst case occurs with reverse-sorted arrays, 7) Each element must be compared with every other element, 8) Not suitable for large-scale sorting applications.