Nigel Farage, the right-wing populist leader, won a by-election for his parliamentary seat in Clacton, which he initiated after coming under pressure over his financial declarations.