Bitcoin in a nutshell
Bitcoin was designed as a purely peer-to-peer system of electronic cash with no privileged participants, no central controls and no trusted third parties.
Cash
If you want to know how many dollar bills (banknotes) are in your wallet, you don't go to a bank, hand over your wallet and ask a bank employee to open your wallet and count whats inside it. You just look yourself. You don't need to trust someone else to do it for you. The same if you want to know how many coins are in your pocket. Bitcoin was intended to work the same way.
Third parties
When you go into a shop and hand over some physical cash for a loaf of bread, you dont ask a bank to act as an intermediary, you may trust the shop to hand over the bread but you don't need a trusted third party. You and the shopkeeper are the first two parties and the only ones where trust may be necessary.
Exchanges
Bitcoin's inventor envisaged that an economy could use Bitcoin as its currency. In that case there would be no need for any exchanges. Most ordinary folk don't need to use a currency exchange to receive salary or to buy things.
Miners
At the beginning every Bitcoin wallet was also a miner. Miners have no special privileges allotted to them. In the beginning every wallet was what is called a full-node. They download the full journal of transactions we call the blockchain and verify it independently. This way they don't need to trust other people's nodes (wallets etc).
At the beginning Bitcoin's inventor did anticipate the need for nodes that don't download the whole transaction journal but rely on some semi-trusted nodes. This was Simplified Payment Verification (SPV) and nodes that use it are not full-nodes but lightweight nodes. These lightweight nodes are more vulnerable to fraud but can be useful for use on devices that lack storage capacity and processing power.
Open source
The source-code of the original software was made public with a permissive licence that qualifies it as open source. Anyone can make their own version of that software. That tradition continues to this day and many of the most trusted wallet programs are open-source.
The security of Bitcoin does not depend on secrets in the source code. It does not depend on the integrity of any particular source code. It does rely on the majority of people using software that applies a common set of rules (sometimes called the consensus rules). Bitcoin has rules without rulers.
So long as we are careful to use software that applies the rules, our money is safe.
Control and Authority
Many of these Bitcoin-wallet projects have a fairly open system of development where anybody with persuasive ideas can propose changes. It is up to the broader community to either adopt or reject those changes. No one person or organisation is in control of Bitcoin and the same applies to some major wallets.
Security
Bitcoin does not rely on some central system of usernames and passwords. Every user chooses a random number and uses it as a private-key that is always kept secret. Using digital signatures, hashes and other fruits of public-key cryptography (but not cryptography itself) Bitcoin is able to give individuals exclusive control over the spending of amounts of money.
Transaction journal
The only truth is the blockchain. That is where we, somewhat indirectly, keep track of who controls the spending of money. Every full-node has their own copy. By inspecting and verifying every part of it, every full node can independently come to a common global understanding of the state of the Bitcoin universe.
Wallets
The only really significant data stored in a wallet is the secret number used as a private key.
The job of a wallet is: to use the transaction journal to keep track of your money; to use that secret number to spend money; to talk to a small random group of other nodes to pass on information about transactions.
Addresses
Unlike normal addresses, Bitcoin addresses don't identify people, organisations or places. They are essentially a random-looking number that represents a Bitcoin script in a transaction in the transaction journal. This script usually determines which secret number (private-key) can be used to spend some money. So addresses are not assigned by others, they are just a number derived from details in a transaction. It is a number that can be made public and which another person can use to create a transaction that gives control over money to someone who knows a secret number without making that secret number known to anyone.
Not trusting third parties
Any third party who sells Bitcoin related services that rely on you trusting them are outside the vision of Bitcoin's founder. I would argue that they are essentially parasitical and should be unnecessary. However many people find them and their services irresistibly alluring. Web based "wallets" are often of this type and I prefer to refer to them as accounts rather than as wallets because they contradict the original vision and often cause confusion and loss of money. "Not your keys: not your Bitcoin!"