Schmidt trigger has large hysteresis, so it can take a noisy signal at mid-rail without amplifying the noise back to logic levels. Slowly varying inputs will always pick up noise in a digital circuit and a standard gate/buffer has lots of gain. (output of an RC low-pass debounce filter is an example of slowly varying for instance)
A standard buffer has no hysteresis and can generate lots of switching spikes on a slowly varying input.
You can add hysteresis to a CMOS non-inverting buffer by adding a resistor between input and output, assuming the driving impedance is not low. ~20% positive feedback ought to work nicely (10k feedback, 2k2 input resistor...)
Debouncing can be done in software if you don't want to add extra hardware - you just ignore any change that doesn't persist for several ms (try 10ms in first instance)