Some use cases for clGetDeviceInfo parameters?

Would someone mind explaining some common use cases for CL_DEVICE_ADDRESS_BITS
and CL_DEVICE_MEM_BASE_ADDR_ALIGN in clGetDeviceInfo? Also, why are there both
CL_DEVICE_NATIVE_VECTOR_WIDTH_* and CL_DEVICE_PREFERRED_VECTOR_WIDTH_*? Thanks!