I won't pretend to be an expert, but I have an understanding of matchmaking algorithms. If anyone would like to correct any of my points, feel free to do so.
Your Matchmaking Score
Actual matchmaking has nothing to do with "what kills you have" as that is a factor that isn't entirely affected by skill, and has negative results on players who aren't selfish. Which is why such an algorithm would actually be flawed.
Matchmaking algorithms are based on probabilities. If you are playing against players of an equal matchmaking score, you should have a probability of winning around 50%. The ideal of all matchmaking algorithms is to have you around a 50% win rate, because you should be placed against equally skilled players all the time.
On average, you out perform players below your current skill level, and perform worse than those above. Though you often will win against greater players and lose against worse players, as this is only an estimate of what "should" happen.
If you win against someone you should win against, your rating stays around the same, but if you beat someone above you, your rating will increase. The opposite is true if you lose.
The difference the loss or win makes is based on the difference between your skill levels. Beating someone way over your skill level changes your ranking much more, than the very tiny boost you'll get for beating someone only slightly over your skill level. In a team game it will use an average skill difference between the two teams.
So your performance generally will be how much you have won vs lost. However some systems may use how close the games were as a factor.
For some systems there is an additional variable which is used to make the first several games for new players worth much more toward their ranking than any other game. Though it's not an accurate ranking quite yet, this speeds up the process to approach it. This variable tends to ease out and eventually stop increasing the magnitude of each change when you have lots of matches played.
Smurf detection is it's own complicated issue, but if you completely stomped almost every one of your first several games, most systems will skyrocket your matchmaking ranking. So high level players with new accounts will quickly leave the low level matchmaking pool. This is the only scenario where kills and deaths have any effect on your matchmaking rank.
The system can't grantee the outcome of a game even with what is supposed to be a very balanced match. Also, we have to consider that games are affected by other factors such as team communication and counters to your strategy. Which is harder to judge in comparison to determining the skill difference when both players are playing the same heroes/soldiers/have the same units.
Finding a Match
When you enter matchmaking, you enter a localized pool of eligible players to join a game. What pool you are in is determined by the region you selected (for example, US East, Europe West, etc...). If you selected multiple regions, you are in every pool you selected.
This pool lists you by your matchmaking ranking, and during the time you wait, it's going through players within a certain range of your skill level and placing them in a match lobby with you. For parties of multiple players it will use their average rank.
If it doesn't find enough players within that range the first time, then it will repeat the loop, except with a less restrictive range, meaning their is a larger skill differences between you and these players, than the difference between you and the players it has already found.
This loop repeats until it finds enough suitable players, and has balanced the teams between those ten suitable players found. Once you are in a match, you leave your pool(s) and connect to the game server.
So the skill difference between you and the players in your game is determined by what players are available, and even if their is a large skill difference, it's still better than you waiting in the matchmaking pool for hours, waiting for that perfect match.
You are more likely to find a good match if you have a ranking with a lot of players, at the time when the most players are on, and in the highest traffic region. So unfortunately this means that in the reverse scenario, if you are near the highest or lowest ranking possible, where there are fewer players, you play around 3-5am, and if you live in a region with the least players, you will have matches of lower quality, and longer wait times.