Eventhough I have been using both but what is lacking with VMD so that Pymol should be used or vice-versa....so that I can be able to focus on what I wanted to do.
I think PyMol is more for rendering of nice pictures as its lacks trajecory reading capabilities. For example can it color front and back of secondary structure motifs in different colors, what VMD cannot.
VMD on the other hand can load huge amount of trajectory data and TCL scripts and plugins ca be used for analysation. Altough VMD can render nice Pictures, too, its main usage is probably MD visualisation, building and analysation.
The main strength of PyMOL is the generation of high quality ray traced images and animations for publications. In addition, through Plug-ins it serves as a graphical front end for computational programs such as APBS (electrostatics). Easy scripting using Python allows for automation of routine tasks.
VMD (Virtual molecular dynamics) is primarily geared at the interpretation and visualization of data generated by molecular dynamics. It can handle the huge datasets generated by such tasks (trajectory files). A large number of available scripts facilitate the extraction of data from MD traces.
For homology modeling, you might want to use programs like Deep View and UCSF Chimera in conjunction with Modeller. Chimera is also used for the analysis of CryoEM volume Data.
For the interpretation of crystallographic electron density, you may want to use programs such a COOT.
If you are working in the biomolecular modeling, simulation and structural biology field in an academic environment, your lab or department might consider joining the SBgrid Consortium https://sbgrid.org for easy access to a huge collection of precompiled applications (>270) for linux and OSX, tutorials, webinars and support.