Perks

Each survivor can gain up to 3 perks by talking to them after their total skill levels(not counting any perk/effect/equipment) reach 4, 7, and 10 (see backstory for the method of getting the most powerful perks, a must-learn for advanced game play), and more through other means. Some survivors arrive already with perks (note however that none of them arrive with their "training" perks already taken, you can always "talk" to them 3 times, each time gaining a perk). Some perks are given by random events (permanently, in most cases, or, in rarer cases such as becoming an addict or a cultist, until countered) or provided by items (for as long as those items remain equipped). Perks provide various bonuses (and sometimes penalties), such as additional skill points or increased effectiveness with certain missions.

The main leader has a special perk chosen at the start of the game which affects the entire fort, does not gain perks from training, but is (or at least was in earlier versions) still eligible for all event-based perks (doesn't seem to work for me lately, need confirmation)(mine got a former Riffs perk after playing about 15 maps)

Despite leveling up only granting a total of 3 perks, there does not seem to be a limit to the number of overall total perks any one survivor can have.

Deluxe Jobs
'Your main character can only acquire these perks if you, as the customer, purchased the Deluxe Edition of Rebuild 3 ($25 from the RebuildGame.com website). If you only purchased the normal edition ($15), then these perks are not available to you. You will also obtained items if you choose it as your starting jobs.'

Skill-related Perks
When talking to survivors three options of perk appear. Usually, the [+3 skill] perks and the non-skill-related perks options cannot be altered by changing profession, and the rest of the skill-related perk appears to the correspondent profession. (Exceptions can happen) See backstory for details, but here's the over-simplified version: take the first option two times and at the third time you talk with a survivor, equip equipment that grants the same perk as the option, then powerful perks have higher chances to appear. (Be warned that this is inaccurate and not the best way to do it.)

Faction Perks
People with these perks can call the faction for help (as an option) in certain events. They also cause you to gain passive respect with the faction.

Leader Bonus Perks
After certain events, your leader can pick a bonus perk. No items are given with these perks. The perks can be gained in Story Mode in the listed cities or in Free Play as long as the relevant factions are in the city.

In Wenatchee, there is a collaboration questline between the "The Luddies" faction and the "St. Michael's School for Boys" faction. During this questline you're asked by the luddies to check out Rufus's dad's place for information on the creation of zombies, you can then ask the St. Michael's School for Boys where this house is, find a encrypted PC there, decode it and speak with any of the two factions. Between 7 to 30 days later, St. Michaels will come to you about their farming problems. This eventually leads to the St. Michael's School for Boys burning down and you get a choice: if you choose to "safely rescue as many kids", then Meet with Ludd, then wait about a day or two, you can pick a bonus Leader perk from the following: (couldn't obtain the perk in Iphone version, need to be confirm)
 * Police Officer
 * Gang Member
 * Rockstar (Deluxe)

In Moses Lake, there is conflict between the "The Granville Riffs" faction and the "The Last Judgment Gang". The trick to this bonus perk is to befrend one of the two factions a bit and they will give you the opportunity to prepare a trap for the other faction (The Riffs are recommended as the Last Judgement gang will still raid you even if you try to have friendly relations). If you agree, you need to "capture" a mall with the quest function and then talk to the faction you want to trap. At this point there is a showdown at the mall between the two factions if you choose to "Let them kill one another" regardless of which side you favor, you can pick a bonus Leader perk from:
 * Politician
 * Priest + Devout
 * Pizza Delivery Driver (Deluxe)

In Spokane, if you choose to defeat the Government with Jesse OR if you side with Davis and capture rotten faction members for the government, you can pick from:
 * Retiree
 * Hobo
 * Real Estate Developer (Deluxe)

In Nelson, after one of your survivors gets kidnapped by a mysterious ice cream truck (Ice cream truck quest line) you can visit the various factions and find out that the truck belongs to the Pig Farmers, they won't admit to anything. After sneaking into their base you find your missing survivor in a Fridge and free him, at this point you have two choices: forget this ever happened, get some supplies from the Pig Farmers, have the possibility of adding 3 criminals to your base and you automatically become allies with their faction. The second choice is to condemn the Pig Farmers for hunting and killing criminals and selling their flesh for food and fight your way out, this automatically annihilates the "Pig Farmers" faction from the map, in a later moment of reflection you can choose one of the folloeing bonus Leader perks:
 * Construction worker
 * Shop Clerk
 * Programmer (Deluxe)

In Kelowna, if you choose to take down the Last Judgement (optionally with the Dahilas, but if you get their help, Mason and the girl will not join your fort), or choose to sneak Mason Moon and the girl out of the city, you can pick from:
 * Gang Member
 * Priest (Confirmed)
 * Real Estate Developer (Deluxe)

Chilliwack, after completing the Riffs quest line, you can pick from
 * Police Officer
 * College Student
 * Pizza Delivery Driver + Driver (Deluxe)

Non-Leader Perks that any character can get, regardless of Leader status or existing perks:

 * Former Riff (via schmoozeRiffsSpar event)
 * Scholar (via schmoozeStmichealsSchools)
 * Intense Focus (via schmoozeCourse while being Cultist)
 * No Rations (via becomeRotten while Omega)
 * Pilot (via airplaneGustavInfo event in Trail)
 * Addict (via combatBathSalts)?