First, introduce the lead to the dog using his sense of smell. Put the lead in front of him but let the dog come to it; if the dog doesn't seem interested, either use a spray with a scent the dogs like on the lead and treat when the dog smells it/approaches. Introducing a leash this way makes sure the dog won't be nervous about something going over his head or around his neck.
If you're dealing with a puppy who's never been on lead before, you have to be patient and do it in short sessions. If using a slip-leash, you can hold the hole (for the head) in front of the dog and use a treat on the other side of the hole to encourage the dog to put his head through to get the treat. If he goes for it, don't tighten the slip, but let the dog go back to its original position.
Allow them to do this a few times and then end the session. Getting them used to it is key.
If the dog seems nervous around a leash (perhaps from past abuse on a lead) then use the lead when giving affection during calm moments- stroking the dog with the leash and giving treats around it.
Once the dog gets used to it, it's time to put the lead on the dog. You can use the same bait-treat method as before, and then put the lead on entirely. Make sure the dog is calm, so that later he will not have a negative association with being on-leash.
On walking on lead: DO NOT START OFF PULLING. Gently prompt the dog to move forward by a slight pull. As SOON as the dog moves in the desired direction, release the tension on the leash and walk with him. If he stops, just continue to give gentle pulls until he moves again. Go for a few minutes (for puppies) and end the session. In this way you can work your way up to a full walk each day by going for a bit longer.