my expectation is that, if workparties are not added to case at run time , values are not present on the clipboard and hence i couldnt' get the property pyEmail1 of that workpart and couldn't send the mail .
Also in the 2nd question i have a confusion with role and description .
Your overall understanding of how to configure work parties is accurate. You can only send an email to a work party that exists on the case in the clipboard. pyWorkPage.pyWorkParty(role).pyEmail1
I think the double negatives in the first question confuse the point of the learning.
Second question - Role is what is set on the clipboard .pyWorkParty(<role>) Description is what is displayed on the UI in the standard forms provided to the end users to manually add work parties. The two can be different.