i heard about VGA, Vesa ans SVGA or ..
wish to know their difference maybe in term of supported screen resolution & colors & their speed of showing on screen.
VGA is a unaversal standard, which is defined by all cards being completely compatable with the original VGA card, VESA is an attempt to extend this compatability, through VBE, however, only VBE3 fully supports PMode programming, (VBE2 supports it partially, VBE is RMode only), 'standard' VGA is 640x480 resolution, with 16 colors (aka: mode 12), though some prefer the simpler 320x200x256 (mode 13, iirc, also part of the VGA standard), while VBE allows access to all supported modes on the card
and their rate of "difficuty" to implement.
VGA is considered to be very difficult to implement, due to the use of bit-planes (most modes condense the memory footprint with banks instead of bit-planes, which is easier), VBE3 is the best of these for PMode, but not all cards support it
and if let say, we are able to code for VGA, Vesa or SVGA, then why still
windows need a display driver?
because VBE is not the best way to go (though windows can use it if it doesnt have a driver) and hardware exceleration is not availibe through VBE -- a card-specific driver will always be the best and fastest way to go, but for OSdevers, this is often out of reach (due to very hash competition between ATI and nVidia) -- however some other companies do release there information (such as intel -- which currently has more video controllers in use than any other company)
and what actually differentiate the vga cards on market?
just about everything, when it comes to programming drivers, cards often have similarities within the same company, but between companies is very different (im assuming here you understand the difference between a "video card" and a "video controller", and that you meant controller instead of card)