Scott Shelby is the origami killer. Despite looking to be -way- older than what the Origami Killer would be, and actually -being- older than he should. David Cage engages in a lot of deception to make sure you're unable to guess the real identity of the killer. Some of it is brilliant (the way he uses Ethan as a smokescreen to shift blame to Lt. Blake, for example), but some of it just plain hiding information that make the final conclusion unreasonable, IMO.
Consider this: Scott Shelby is explicitly said to be 48 at the time of the game's ending. As the game is set to late 2011, this would likely make him born in 1963. The flashbacks where his brother dies is set in 1976.
*For one, they confuse you by insisting that "John Sheppard died 30 years ago", when it in fact was 35. Coupled with the fact that the kids in the flashbacks look no older than ten years old, this makes you look for a 40 year old killer at most, completely dismissing Shelby as a suspect.
*Secondly, Shelby's year of birth means he's supposed to be thirteen at the time of his brother's death. Again, I have a hard time believing the kids in the flashbacks look or act anything like thirteen year old boys.
*Finally, of course, it's the nugget that the game never reveals Shelby's age until after the fact, and his character model makes him look well into his fifties.
All of these things added together, IMHO, makes for a rather unsatisfying twist that leaves the player feeling like he's been tricked. I won't speak for anyone else, but both me and all friends who've played it have left the game disappointed.