Failing to use bounded wildcards ("? extends T" or "? super T") can reduce the usefulness of generic classes and force clients to develop clumsy workarounds to use such classes. Bounded wildcards improve code flexibility, but are often not used because they are perceived as unnecessary.