Can be either derogatory or humorous.
Derivative of Joe (as in average Joe). Adding a schm- or shm- to the beginning of a word is meant to diminish, negate, or dismiss an argument (for instance, "rain, schmain, we've got a game to play"). This process was adapted in English from the use of the "shm" prefix in Yiddish to dismiss something; as in, "fancy, schmancy." While "Schmoe" (alternate spellings) are thought by some linguists to be a clipping of Yiddish schmuck ("penis") but not universally accepted.