Weak acids are because in aqueous solutions the solute species undergoes only very limited or partial ionisation into its conjugate base and the H3O+ ion. Due to the very low standing concentration of the conjugate base, these solutions cannot function as buffers.
Adding to the weak acid solution some salt of the same acid will give immediately a large concentration of anion [i.e. conjugate base]. This will have the effect of driving the weak acid dissociation equilibrium position leftwards, thus suppressing even further its dissociation. The result is a solution with high concentrations of BOTH undissociated acid solute species AND its conjugate base. Buffer action is optimised if these two concentrations happen to be high and equal to each other.