cpu-shares vs cpu-cap in solaris

Can anyone tell me difference between cpu-shares vs cpu-cap in solaris & how FSS will work with cpu-caps ?

I think you should take a look hereCPU Caps PSARC case draft at OpenSolaris.org

It describes what is caps, shares and their relationship to Fair Scheduling

i checked that but i was not able to make is it beneficial to use FSS with cpu-caps or not

It makes sense capping a zone CPU usage and use the FSS to balance usage between projects inside that zone.

But does it make sense to use projects.cpu-cap just on a system without zones ?

Why won't it ? These settings serve slightly different purposes.

Ok agreed but if there are 2 projects on a system and every project has following cpu-cap

project1 --> 3300 ~ 33vcpus
project2 --> 1400 ~ 14vcpus

And system has total of 96 vcpus and this way only 48vcpus will be used.
And the system has pools and FSS too configured so my question is if the projects will hit their limits will the they use the rest of 48 vcpus with FSS and if yes how ?

The projects are capped so they won't use more than the percentage they are granted.
FSS can still have a purpose to balance CPU usage between these projects (and others).

Ok that means that my CPU's will not be used above the 1400+3300 usage and rest of the vcpus will be never be used.If that's correct then my half cpu capacity will be never used using cpu-cap resouce. Correct me if i 'm wrong.

You are partially correct. The rest of the virtual CPUs won't be used by these projects. They are available for other ones.