I found out by trial that the bbswitch daemon alone can only turn the power on for the card. The driver is not loaded and card is not functional. Installing bumblebee is the solution. If uninstalling bbswitch manually doesn't work (using purge bbswitch-dkms) bumblebee will uninstall it automatically.
Other things I found out by experience: sometimes bumblebee may not install itself properly or fails to automatically keep the dedicated card switched off, in which case purge bumblebee and reinstall.
Running bumblebee with primus is supposed to give better performance than the default virtualgl. Primus is included with bumblebee 3.1 onwards at the time of writing so there's no need to install primus manually.
If the command
primusrun <<APPLICATION NAME>>
doesn't work, use
optirun -b primus <<APPLICATION NAME>>
Useful links:
http://www.webupd8.org/2013/02/bumblebee-31-released-with-primus.html
http://techies.ncsu.edu/wiki/bumblebee
Do your research before installing and using if you are a newbie :)