why we have different shells?

Can you pls. tell me, why we have different shells in UNIX OS ( Eg. SunOs) and also I would like to know what is the specific difference b/w SVR and BSD ?

Thanks.

The main difference between BSD and SVR flavours is in the way startup scripts are executed.

The different shells all perform in slightly different ways. Some differ in the way variables are dealt with. The shells were all written by different people, and each developer included their own special functions, etc, depending on what they thought was required. The different shells all have their strong and weak points, but there's not enough room here to list them all.

Search the web for info on the shells you're interested in to see what features each shell provides (or doesn't).

Humm, not sure that I agree with that statement. What about TLI and networking? Curses? Print services? File systems? And lots more.