EU law needs to be proposed by the Commission (though the Maastricht Treaty gives Parliament powers to request that the Commission should put forward proposals on their behalf), and then normally approved and/or amended by both Parliament and the Council, with drawn out conciliation procedures if one or the other changes the proposals too much.
The complexity stems from the legal status where the EU is in some respects a confederation of sovereign states, where the governments of the member states need to represent their respective nations, and in some respects a union of people. The gradual shift of power towards the Parliament represents attempts to shift it towards the latter, while the Commission and Council represents the treat realities where delegating more power to Parliament would require constitutional changes in a number of member states to cede the sovereignty (currently this is worked around by having the treaties bind the respective governments to take make the required decision - it's exploiting the wide latitude most governments have in exercising treating rights and obligations.