Cannon holds an associate degree from Wayne County Community College, as well as a B.A. in criminal justice from the University of Detroit, obtained in 1976. Cannon holds a master's degree in public administration from Central Michigan University and a master's degree in strategic studies from the US Army War College. Cannon has taught criminal justice at Northwestern Michigan College.
After graduating from high school in 1967, Cannon served in the Vietnam War as a Marine. Cannon was honorably discharged in 1970, after which he joined the River Rouge Police Department. In 1977, Cannon enlisted in the Michigan Army National Guard and joined the Kalkaska County Sheriff Department. Cannon served as sheriff of Kalkaska County from 1987–2004.
From 2003-2004, Cannon served as the commander of the Joint Detention Operations Group Joint Task Force Guantanamo. Roll Call reported that Cannon doesn’t think his service at Guantanamo should be seen as unpatriotic, saying of it, “I’ve done that gladly. I’ve done that proudly. I would do it again.” He was promoted to Brigadier General in 2004, assuming command of the 177th Military Police Brigade in Taylor, Michigan. He was promoted to Major General in 2006 as Commanding General of the 46th Military Police Command in Lansing, Michigan.
Cannon served two deployments in Iraq during the Iraq War. His first deployment was 2008-2009 where he served as Deputy Commanding General responsible for developing Iraqi police forces. His second deployment to Iraq was 2010-2011 where he served as U.S. Forces-Iraq Provost Marshal General and Deputy Commanding General for Detention Operations. After his last deployment in Iraq, he returned to the Michigan Army National Guard and in February 2012 was placed in the Army Retired Reserves, effectively signaling his retirement from the military.
In August 2013, Cannon announced that he would challenge Republican Congressman Dan Benishek in Michigan's 1st congressional district. Cannon ran unopposed in the Democratic primary on August 5, 2014. He was defeated by Benishek in the general election.
Cannon was endorsed by the Sierra Club, and the League of Conservation Voters. Nancy Pelosi’s campaign committee has donated to Cannon’s campaign.
In January 2014, Cannon was interviewed by a reporter from the Daily Mining Gazette. The day after the interview, the reporter called Cannon to ask follow-up questions. The person who answered the phone identified himself as Cannon, and went on to express his dislike of the Affordable Care Act. Cannon's campaign denied that he had made the anti-Affordable Care Act comments, and the newspaper later revealed that the reporter had dialed the wrong number and had spoken with a Cannon impersonator, and not Cannon himself. Cannon's campaign subsequently confirmed his support for the Affordable Care Act. Cannon has noted his belief that the "worst thing that could be done" to the Affordable Care Act is to "throw it all away."
Cannon has a wife, Elizabeth. The Cannons live in Fife Lake, Michigan.
Cannon is a member of the Kalkaska Memorial Health Center Board of Trustees, chairman of the Garfield Township Parks and Recreation Committee, and a board member of the Northern Michigan Law Enforcement Training Group.