I see the difference. The 2nd plugin applies and reads attibutes to the component definition. Where as the 1st plugin, uses the component instance. It works fine for edges, faces, groups. But for components, they can't see the attibutes set by the other. Also, I don't know if it matters. But if you are changing the definition of a component, then the change is not unique.