HARDWARE ABSTRACTION is a property that helps us to write a program for not a particular hardware, If in case the property does not hold then we have to develop the Kernel differently for different device, like drivers . Kernel is the core of OS so it is essential to write kernel level programs which are hardware independent , in such case
we will be able to use such OS, based on that kind of Kernel in the equivalent devices.
In case of drivers there are particular drivers for particular devices so we need the
drivers for each and every device which is specified for it only.