This video by Times editorialist Phil Collins on what makes a good protest is definitely worth checking out. Collins, correctly I think says "unity of purpose" as the main factor that seperates effective demonstrations from the unproductive messes like the "anti-capitalist" marches going on in London right now.
Collins names Gandhi's march to the sea and Martin Luther King Jr.'s march on Washington as the ultimate effective demonstrations in this sense. They mobilized huge groups in support of a defineable and acheivable goal rather than opposing an amorphous concept like "capitalism."
The fact that much of the street activism against the U.S. war in Iraq has been led by a group called Act Now to Stop War & End Racism is a good indication of why the antiwar movement has never really been a factor in debates over U.S. foreign policy. Rather than organizing around a specific political goal, ending the war, these marches tend to devolve into general lefty free-for-alls encompassing everything from Palestine to free trade the environment to capital punishment.
I would add that, at least in democratic societies, protests that demand accountability or consistency from "the system" tend to be more effective than one that seek to overturn it. The U.S. civil rights movement was able to gain widespread support because its arguments were largely rooted in the constitution and christianity.
Recent examples of effective protests would be the unbelievably effective demonstrations in Pakistan that led to the reinstatement of chief justice Iftikhar Chaudry or the pro-Thaksin demonstrators who have Thailand's government on the brink of capitulation. Strangely, it also seems to be the case that demonstrations in partially free or inconsistently democratic societies tend to be the most effective.
In the case of the disparate groups protesting at the G-20 protests, what would a victory even be?