Charging decisions are made by the law enforcement agency investigating the crime or the District Attorney (DA). For relatively minor offenses or misdemeanors the police decide whether or not to file charges, (charge someone with a crime). It is then the DA's decision to prosecute or not.
In more complicated cases or those which have been under investigation, the police agency consults with the DA's office and investigator's and a charging decision is made based upon the exsisting evidence (if any). At this point, the case may continue (decision was made to try and prosecute the crime), or the case may be dropped. The most common reason cases are dropped is insufficient evidence.
Still, in other cases, the government (DA) takes the case to the Grand Jury and presents the evidence. The Grand Jury is a group of laypeople that have been called into service. In this scenario, the DA makes a decision to charge or not based on the input received from the GJ.
Police officers can book someone under arrest for specific charges, but they have no power to formally arraign, or charge, someone. They collect the evidence and give it over to the District Attorney's office, who decides if they have enough of a case to file charges. Many times, the charges are dropped because the DA can only bring so many cases to court per year, and they must have a pretty good case before risking the time and money.
Then, a prosecuting attorney will actually take the charge into court and present the reasons why someone should be charged to a criminal judge. If he/she agrees to charge them, a formal plea of guilty or not guilty is entered, and a trial date is set.