Pick a small enough bound and an O(n^2) algorithm behaves better than an O(n log n). This is why insertion sort is used for sorting lengths less than ~64, for example.
Big O notation doesn't take into account constant factors of overhead or plain old once-per-run overhead.